2017-04-16 92 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,您可以指定属性部分。

相关问题