SecureSign patched OpenSC module package
==========================================

Contains custom-rebuilt opensc.dll and opensc-pkcs11.dll (OpenSC 0.27.1
base) with two source patches applied that make the SecureSign prototype
dongle's PKCS#11 signing work correctly against a stock OpenSC install:

  1. card-default.c: registers ECDSA-P256 raw signing capability for
     unrecognized cards (the generic driver otherwise never exposes any
     signing mechanism at all).
  2. framework-pkcs15.c: pkcs15_prkey_can_do() returns
     CKR_FUNCTION_NOT_SUPPORTED instead of CKR_MECHANISM_INVALID for
     mechanisms not explicitly declared on-card, so OpenSC's own software
     hash-then-raw-sign wrapper (e.g. for CKM_ECDSA_SHA256, needed by
     Java/jSignPdf) engages instead of erroring out immediately.

Install (after installing stock OpenSC 0.27.x from
https://github.com/OpenSC/OpenSC/releases):

  1. Close any running OpenSC processes.
  2. In an elevated PowerShell/cmd, from wherever you extracted this zip:

     copy /Y "tools\*"   "C:\Program Files\OpenSC Project\OpenSC\tools\"
     copy /Y "pkcs11\*"  "C:\Program Files\OpenSC Project\OpenSC\pkcs11\"

Full setup guide: SecureSign_Remote_Testing_Setup.html
(https://securesigndongle.rioncore.com)

Files:
  tools\opensc.dll                - patched, used by opensc-tool/pkcs15-tool
  tools\libcrypto-3-x64.dll       - runtime dependency (OpenSSL 3.6.3)
  tools\zlib1.dll                 - runtime dependency
  pkcs11\opensc-pkcs11.dll        - patched, the actual PKCS#11 module
  pkcs11\libcrypto-3-x64.dll      - runtime dependency (OpenSSL 3.6.3)
  pkcs11\zlib1.dll                - runtime dependency

NOT included / NOT modified: onepin-opensc-pkcs11.dll and every other
card-specific tool in the installation -- unaffected by these patches.
