使用Makecert设置密钥用法属性

nla*_*ker 19 biztalk certificate makecert

是否可以使用makecert或我可用于生成自己的测试证书的任何其他工具来设置密钥用法属性?

我感兴趣的原因是用于BizTalk Server AS2传输的证书需要使用数字签名的密钥用于签名和数据加密或密钥加密用于加密/解密,我想要使用此功能.

我看到如何使用makecert 设置增强的密钥使用属性,但不是密钥用法.

kam*_*cus 6

虽然您无法使用自签名证书并设置增强型密钥用法参数,但makecert我认为我将为每个人节省尝试使用OpenSSL在Windows上生成证书的路径.相反,您可以使用certreq(如果已有,则可以使用makecert)并设置您自己的请求以设置所需的参数.

例如,这将设置一个带有文档加密EKU(1.3.6.1.4.1.311.80.1)的证书以及密钥加密和数据加密的关键用法.

创建一个新文件,MyCert.inf:

[Version]
Signature = "$Windows NT$"

[Strings]
szOID_ENHANCED_KEY_USAGE = "2.5.29.37"
szOID_DOCUMENT_ENCRYPTION = "1.3.6.1.4.1.311.80.1"

[NewRequest]
Subject = "cn=me@example.com"
MachineKeySet = false
KeyLength = 2048
KeySpec = AT_KEYEXCHANGE
HashAlgorithm = Sha1
Exportable = true
RequestType = Cert

KeyUsage = "CERT_KEY_ENCIPHERMENT_KEY_USAGE | CERT_DATA_ENCIPHERMENT_KEY_USAGE"
ValidityPeriod = "Years"
ValidityPeriodUnits = "1000"

[Extensions]
%szOID_ENHANCED_KEY_USAGE% = "{text}%szOID_DOCUMENT_ENCRYPTION%"
Run Code Online (Sandbox Code Playgroud)

只需将其设置Subject为您需要的任何内容.

然后运行:

certreq -new MyCert.inf MyCert.cer
Run Code Online (Sandbox Code Playgroud)

这将生成公钥(X509证书)并将其安装到计算机上的当前用户个人存储中.如果需要,您可以从那里导出它.

我用这个来生成用于加密PowerShell DSC的证书,用于测试.

示例证书

有关详细信息,请访问:https://technet.microsoft.com/en-us/library/dn296456.aspx#BKMK_New


Zé *_*los -4

您可以使用 -eku 选项指定证书的密钥用法。

请参阅此处的详细信息: http://msdn.microsoft.com/en-us/library/aa386968(VS.85 ).aspx

  • -eku 允许您设置*扩展*密钥用法,而不是密钥用法。 (3认同)