Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/smallstep/pkcs11-proxy. Pull mirroring updated .
  1. Jan 08, 2013
    • Fredrik Thulin's avatar
      proto_read_attribute_array: When count is zero, make result a NULL ptr. · 7f1b48e3
      Fredrik Thulin authored
      I am a bit uncertain about this change, since both NULL and non-NULL
      will make test cases fail within the SoftHSM test suite for example
      (some SoftHSM C_ functions want the pointer to be NULL when there
      are no attributes, and some allow (expect) it to be possible to pass a
      non-NULL pointer with a zero count).
      
      It seems that making it a NULL pointer when the count is 0 is the most
      sensible thing though. How could the C_ function use the data pointed
      to by the pointer, when the count says there is no data there? The
      result would really be undefined.
      7f1b48e3
  2. Jan 07, 2013
    • Fredrik Thulin's avatar
      d4092d33
    • Fredrik Thulin's avatar
      Remove obsolete input data checks. · 35589e58
      Fredrik Thulin authored
      Remove a bunch of input data checks now that byte buffers support
      NULL data length pointers in order to be as transparent as possible.
      35589e58
    • Fredrik Thulin's avatar
      Check pkcs11_initialized "everywhere". · 3922334c
      Fredrik Thulin authored
      Since PKCS#11 module initialization is done globally on the server side,
      the real PKCS#11 modules check for initialization is made a no-op. The
      only place it is possible to check for proper initialization by the
      application is here - on the client side.
      3922334c
    • Fredrik Thulin's avatar
      proto_read_byte_buffer: Support undefined buffer size. · 095eff3e
      Fredrik Thulin authored
      A number of PKCS#11 functions take a pointer to a buffer size as
      argument. To be a transparent proxy of PKCS#11 calls, it is necessary to
      support invoking these functions with a NULL pointer. pkcs11-proxy used
      to send the buffer size as an integer and create a pointer to the integer
      on the server side, but this is different to the backend PKCS#11 module
      in some cases.
      
      E.g. the C_Encrypt call is specified to have side effectes (finalizing)
      when called with a NULL encrypted data length. The softhsm test suite
      exposed that these side effects never occured because the NULL data length
      pointer was conveyed as a valid pointer to the integer zero.
      
      Since an additional uint8_t was added to "byte buffers", this is an
      backwards incompatible change. As such, the version number in the protocol
      greeting was increased (GCK_RPC_HANDSHAKE).
      095eff3e
  3. Dec 21, 2012
  4. Dec 20, 2012
  5. Dec 19, 2012
  6. Dec 18, 2012
  7. Dec 17, 2012
  8. Dec 14, 2012
  9. Dec 13, 2012
  10. Sep 04, 2012
Loading