我必须为使用证书保护的私有 RPC 接口生成 CSR。作为要求的一部分,指定唯一兼容的套件是:
SSL_RSA_EXPORT_WITH_RC4_40_MD5
我的知识非常有限,但我已经尝试过:
openssl genrsa -out mykey.private -des3 512
然后通过以下方式提取公钥
openssl rsa -in mykey.private -pubout -out mykey.public
然后通过以下方式转换为 CSR
openssl req -new ???
未知部分是密码套件的哪些部分与 CSR 请求的部分匹配,我被告知它是一个 512 位密钥,但是,我不明白 RC4 或 MD5 部分的相关性!
在人们问我为什么不提交并看看会发生什么之前,我们会根据 CSR 签名过程的失败或成功收取费用。
问候,
汤姆
答案1
RC4 是一种对称密码,不会出现在证书请求和生成的证书本身中。消息摘要算法可能很重要;显然,您的出口限制 CA 需要 MD5。
首先通过以下方式创建 CSR:
openssl req -new -key mykey.private -md5 -out my.csr
(实际上-md5
仍然是默认的)。
然后适当地回答提示。文件生成后,您可以以文本形式检查其内容:
openssl req -in my.csr -text -noout
在提交 CSR 之前,请确保主题、公钥算法和签名算法字段正确无误;您还会看到其中没有提及 RC4 或任何其他对称加密算法。
答案2
SSL_RSA_EXPORT_WITH_RC4_40_MD5是密码套件,需要在您的 SSL 端点配置中指定。
但为了以防万一,请确保在生成 CSR 时使用 -md5。