2015-10-15 133 views
1

自当指定主题备用名称有没有办法获得的.crt和.key文件与使用者备用名称设置?我配置代理与OpenSSL的.CRT和.KEY该命令生成签名证书

openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout proxy.key -out proxy.crt 

然后我的猫.KEY和.CRT得到一个。质子交换膜,并使用在客户端生成。 这个证书工作正常,确保HTTPS连接,但我得到一个警告,主题备用名称未在证书中设置。在另一个客户端中,我使用的警告实际上是一个终止连接的错误。

这里的解决方案https://security.stackexchange.com/a/91556给了我一个.csr,我将其重命名为我需要的.crt,并且当我将此与客户端一起使用时,https连接在错误的ssl证书上失败。

+0

的可能的复制[如何创建使用OpenSSL自签名证书?(http://stackoverflow.com/questions/10175812/how-to-create-a-self-signed-certificate-with-openssl) – jww

回答

2

有没有办法让主题替代名称设置的.crt和.key文件?

是的,但你不能在命令行中做到这一点。你必须使用一个CONF文件。

对于通过conf文件的SAN设置,见How do you sign Certificate Signing Request with your Certification AuthorityHow to create a self-signed certificate with openssl?。两个程序都包含SA​​N。

+0

JWW,不知何故,当我执行的第二个链接的指示你送我,我看看,我现在已经在我的.CRT一个SAN领域这是伟大的,但是当我的猫,他们键PEM,该证书在我的客户端使用我得到一个'SSL:CERTIFICATE_VERIFY_FAILED'。如果我做同样的确切openssl证书生成,而是使用默认的ubuntu openssl.cnf我得到了一个成功的连接,但警告'证书没有'subjectAltName''。因此,添加SAN的某些操作会导致验证失败。 –

+0

@HamzehAlsalhi - 用户代理是什么?这是一个浏览器吗?或者像's_client','wget'或'cURL'这样的命令行工具? – jww

+0

Python请求是我正在测试与哪个给我的SAN警告,Java HttpsURLConnection是最终目标,但是这个客户端错误在没有SAN而不是警告。 –