0

我已经创建了一个自签名的根证书颁发机构,如果我将其安装到 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 使用其内部证书存储而不是钥匙串才能工作。这是导致问题的导入证书的钥匙串方法。因此,所有使用钥匙串的浏览器都将无法工作。

4

1 回答 1

0

openssl 配置默认有一个中间证书,basicConstraints=CA:TRUE但是在我的情况下,因为我使用中间证书作为最终用户证书,所以我需要制作它basicConstraints=CA:FALSE

在 windows/linux/firefox 上,这似乎无关紧要,但 mac 上的安全设置使其成为必需。

于 2014-06-08T17:47:49.083 回答