2017-04-16 26 views
1

我在我的hsm中有一對密鑰,我想從中生成CSR。我使用Open SSL和這些代碼。當CSR生成時,它沒有hsm供應商。如何在我的csr中設置hsm提供程序?如何在我的CSR中設置HSM提供程序

openssl_conf = openssl_def 
[openssl_def] 
engines = engine_section 
[engine_section] 
pkcs11 = pkcs11_section 
[pkcs11_section] 
engine_id = pkcs11 
dynamic_path = enginepkcs11 
MODULE_PATH = cs2_pkcs11 
PIN = 123456 
init = 0 
[req] 
default_bits = 2048 
prompt = no 
default_md = sha256 
distinguished_name = dn 
[ dn ] 

我的問題被編輯。我在評論中解釋.inf文件。

[NewRequest] 
Subject="" 
Exportable=True 
KeyLength=.. 
keyUsage=.. 
UserProtected=FALSE 
MachineKeySet=.. 
ProviderName="...CSP provider..." 
UseExistingKeySet=.. 
RequestType=.. 
+0

我編輯我的問題..當我創建.inf文件。並在Windows中使用certreq命令。我可以設置Providername,在生成csr後,提供程序名稱字段將以csr作爲屬性。 cert req命令可以找到與提供者名稱的存儲,但是當我在我的問題中使用Pkcs#11時,Storage找到了dll地址,我無法確定hsm中的密鑰對。 –

回答

0

CSR(PKCS#10)不能有提供者信息。 CSR基本上就是您的公鑰+您的數據,如(Subject DN)+簽名算法,以特定格式組合並由您的私鑰簽名。

有關PKCS的更多信息#10 here

0

CSR的屬性必須在使用的openssl配置文件中指定。根據the man page,您可以指定屬性部分。

相關問題