Openssl 将Exchange 2013 CSR签名算法更改为SHA256

Openssl 将Exchange 2013 CSR签名算法更改为SHA256,openssl,exchange-server,sha256,csr,Openssl,Exchange Server,Sha256,Csr,我必须续订Exchange 2013服务器的公共受信任证书。 不幸的是,内置cmdlet New-ExchangeCertificate和EAC仍然只支持创建使用SHA-1算法签名的CSR,而我的证书颁发机构确实强制我提供CSR SHA256签名。 确实可以使用MMC创建一个SHA256签名的CSR,但通过这种方式,请求和证书将存储在Exchange2013 OWA代码不支持的CNG中,从而导致证书续订后无法登录OWA 我的想法是将EAC中创建的证书请求(SHA-1签名)导出到.pfx文件中,使

我必须续订Exchange 2013服务器的公共受信任证书。 不幸的是,内置cmdlet New-ExchangeCertificate和EAC仍然只支持创建使用SHA-1算法签名的CSR,而我的证书颁发机构确实强制我提供CSR SHA256签名。 确实可以使用MMC创建一个SHA256签名的CSR,但通过这种方式,请求和证书将存储在Exchange2013 OWA代码不支持的CNG中,从而导致证书续订后无法登录OWA

我的想法是将EAC中创建的证书请求(SHA-1签名)导出到.pfx文件中,使用.pfx文件中导出的私钥,使用SHA256算法对其进行解密并重新签名

我已经能够使用以下命令从.pfx中提取私钥和证书:

openssl pkcs12 -in request.pfx -nocerts -nodes -out request.key
openssl rsa -in request.key -out request_private.key
openssl pkcs12 -in request.pfx -out certificate.pem -nokeys
现在我不知道如何创建CSR。命令

openssl x509 -x509toreq -in certificate.pem -out request.csr -signkey request_private.key
创建一个CSR,该CSR与使用EAC创建的CSR相似,但具有一些额外的头信息;我仍然不清楚如何使用SHA256算法进行签名。

(0)这与编程或开发无关,因此不属于主题,而是:(1)您不需要
openssl rsa
步骤;所有openssl都可以读取由您的第一个
openssl pkcs12
步骤创建的“私钥”格式,或者openssl 1.0.2以上版本(以及以下版本)的过时“RSA私钥”格式(2)。默认值已经是SHA256,但(3)要设置它,只需将其指定为选项
-SHA256
(4)破折号开始行之前的解码显示不是PEM格式的一部分,仅为方便起见,如果CA不喜欢,应将其删除