Penso che tu stia chiedendo come generare una risposta data / ora come definito nel protocollo timestamp: RFC3161 , con openssl
per generare e firmare la risposta utilizzando un PKCS#11
(HSM nel tuo caso) come un firmatario TSA.
Penso che non ci sia modo nativo di usare PKCS#11
con openssl
per farlo. (magari con qualche plugin come: openscp motore pkcs11 per openssl ).
Se dai un'occhiata alla documentazione del comando ts
: link . Per generare una risposta data / ora è possibile utilizzare il comando follow:
openssl ts -reply [-config configfile] [-section tsa_section] [-queryfile request.tsq] [-passin password_src] [-signer tsa_cert.pem] [-inkey private.pem] [-chain certs_file.pem] [-policy object_id] [-in response.tsr] [-token_in] [-out response.tsr] [-token_out] [-text] [-engine id]
Il certificato del firmatario TSA e la chiave privata sono specificati nei seguenti parametri che specificano che entrambi devono essere in formato PEM, quindi sembra che l'utilizzo di PKCS#11
non sia possibile.
-signer tsa_cert.pem
The signer certificate of the TSA in PEM format. The TSA signing certificate must have exactly one extended key usage assigned to it: timeStamping. The extended key usage must also be critical, otherwise the certificate is going to be refused. Overrides the signer_cert variable of the config file. (Optional)
-inkey private.pem
The signer private key of the TSA in PEM format. Overrides the signer_key config file option. (Optional)
Tuttavia, come ho commentato prima, può essere possibile utilizzare forse opensc pkcs11 engine
per openssl, non posso confermare se funziona perché non conosco il motore. Dai un'occhiata a questa guida introduttiva che potrebbe metterti nella giusta direzione.
Spero che questo aiuti,