- 生成根证书(CA证书)
首先,你需要创建你自己的 Certificate Authority (CA)。打开终端,然后运行以下命令:
openssl genrsa -des3 -out myCA.key 2048
这将创建一个 RSA 私钥。你需要为该密钥设置一个密码。
然后,创建根证书:
openssl req -x509 -new -nodes -key myCA.key -sha256 -days 36500 -out myCA.pem
你将需要输入你先前创建的密码,然后提供一些信息。这将创建一个名为 myCA.pem
的文件,这是你的公开证书。
2. 创建域名证书
首先,创建一个证书签名请求:
openssl req -new -newkey rsa:2048 -nodes -out mydomain.csr -keyout mydomain.key -subj "/C=US/ST=YourState/L=YourCity/O=YourOrganization/CN=*.domain.of.yourself"
然后,创建一个扩展文件 mydomain.ext
,写入以下内容:
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = *.domain.of.yourself
DNS.2 = domain.of.yourself
最后,使用你的 CA 和扩展文件签名证书请求:
openssl x509 -req -in mydomain.csr -CA myCA.pem -CAkey myCA.key -CAcreateserial -out mydomain.crt -days 36500 -sha256 -extfile mydomain.ext
这将创建一个名为 mydomain.crt
的文件,这是你的域名证书。
3. 将CA证书导入到浏览器
这个步骤依赖于你使用的浏览器和操作系统。在大多数情况下,你可以打开浏览器的设置或选项,找到证书管理的部分,然后导入你的 myCA.pem
文件。
在 macOS 的 Chrome 中,你可以在 "设置" -> "隐私和安全" -> "更多设置" -> "管理证书" -> "颁发机构" 中导入你的 CA 证书。
请注意,以上步骤仅适用于开发和测试环境。在生产环境中,你应该使用一个公认的证书颁发机构(例如 Let's Encrypt、DigiCert 等)颁发的证书。