是否可以使用 makecert 或我可以用来生成自己的测试证书的任何其他工具来设置密钥用法属性?
我感兴趣的原因是,用于 BizTalk Server AS2 传输的证书需要使用数字签名的密钥进行签名,并使用数据加密或密钥加密进行加密/解密,我想尝试一下此功能。
我看看如何设置enhanced使用 makecert 的密钥使用属性,但不使用密钥使用。
虽然您无法制作自签名证书并使用以下命令设置增强型密钥用法参数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 = "[email protected] /cdn-cgi/l/email-protection"
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%"
只需设置Subject
无论你需要什么。
然后运行:
certreq -new MyCert.inf MyCert.cer
这将生成公钥(X509 证书)并将其安装到计算机上的当前用户个人存储中。如果需要,您可以从那里导出它。
我用它生成了一个用于加密 PowerShell DSC 的证书,以进行测试。
更多细节:https://technet.microsoft.com/en-us/library/dn296456.aspx#BKMK_New https://technet.microsoft.com/en-us/library/dn296456.aspx#BKMK_New
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)