我创建了一个自签名的根证书颁发机构,如果我安装到windows,linux,甚至在firefox(windows / linux / macosx)中使用证书存储,它将与我的终止代理完美配合。
我已将其安装到系统钥匙串中,并且我已将证书设置为始终信任。
在Chrome浏览器详细信息中,它显示“Chrome在此连接尝试期间收到的证书格式不正确,因此Chrome无法使用它来保护您的信息。错误类型:格式错误的证书”
我使用此代码创建证书:
openssl genrsa -des3 -passout pass:***** -out private/server.key 4096
openssl req -batch -passin pass:***** -new -x509 -nodes -sha1 -days 3600 -key private/server.key -out server.crt -config ../openssl.cnf
如果问题不是它的格式不正确(因为它可以在其他地方使用),那还有什么呢?我安装不正确吗?
要明确: 在windows / linux操作系统中,所有浏览器都能完美运行。在mac中,只有firefox使用其内部证书存储而不是密钥链才能工作。这是导入导致问题的证书的钥匙串方法。因此,使用钥匙串的所有浏览器都不起作用。
答案 0 :(得分:0)
openssl配置默认中间证书为basicConstraints=CA:TRUE
但是在我的情况下,因为我使用中间证书作为最终用户证书,我需要将其basicConstraints=CA:FALSE
。
在windows / linux / firefox上这似乎并不重要,但是mac上的安全设置使它成为必需。