自签证书

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 后缀 否则平台会因为 加密复杂度不够上传不了