guild of self signature cert
域名证书
生成 CA 自签证书
需要修改 openssl.cnf (在目录 / usr/local/etc/openssl 下面) 配置文件 需要加上以下配置
[v3_ca]
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer
basicConstraints = CA:true
然后把配置文件拷贝到当前目录下
# 创建 CA 私钥
openssl genrsa -out ca.key 2048
# ⽣生成 CA 的⾃自签名证书
openssl req -new -x509 -days 365 -extensions v3_ca -key ca.key -out ca.crt -config ./openssl.cnf -sha256
自签名,生成私有证书
多域名证书
#编辑 openssl 配置
#mac 下面 openssl.cnf 应该在下面这个目录 /usr/local/etc/openssl/ 拷贝到当前目录
$ cp /usr/local/etc/openssl/openssl.cnf .
# 主要修改如下 注意下面的 DNS.1 后面跟着的就是你想要添加的域名 根据需要修改
[req]
req_extensions = v3_req # 这行默认注释关着的 把注释删掉
# 下面配置是新增的
[v3_req]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = dashboard.mritd.me
DNS.2 = xxx2.mritd.
### 一个证书可以支持多个域名 DNS.3 以此类推 自己定义
# 生成私钥
$ openssl genrsa -out ssl.key 2048
# 对私钥进行加密
openssl rsa -in ssl.key -des3 -out encrypted.key
# 私钥生成证书请求(根据需求选择加密私钥或者非加密私钥)
$ openssl req -new -key ssl.key -out ssl.csr -config openssl.cnf -sha256
# 用 ca 证书给证书请求签证
$ openssl x509 -req -in ssl.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out ssl.crt -days 365 -extensions v3_req -extfile openssl.cnf -sha256
注意:在执行最后一条命令的时候出现选项Common Name (e.g. server FQDN or YOUR name) []的时候,填上上述DNS.*中的一个域名作为主域名
普通证书
# 生成私钥
$ openssl genrsa -out ssl.key 2048
# 对私钥进行加密
$ openssl rsa -in ssl.key -des3 -out encrypted.key
# 私钥生成证书请求(根据需求选择加密私钥或者非加密私钥)
$ openssl req -new -key ssl.key -out ssl.csr -sha256
# 用 ca 证书给证书请求签证
$ openssl x509 -req -in ssl.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out ssl.crt -days 365 -sha256
注意
- 在执行最后一条命令的时候出现选项
Common Name (e.g. server FQDN or YOUR name) []的时候,填上你需要的域名 - 要加上
-sha256后缀 否则平台会因为 加密复杂度不够上传不了