1、生成带有 RSA 的私钥:

openssl genrsa -out private.key 2048

 

2.创建openssl.conf,设置IP.1和/或DNS.1指向受信任的 IP/DNS 地址,内容如下

[req]

distinguished_name = req_distinguished_name

x509_extensions = v3_req

prompt = no

 

[req_distinguished_name]

C = CN

ST = FuJian

L = FuZhou

O = 随便填

OU =  随便填

CN = 填域名地址

 

[v3_req]

subjectAltName = @alt_names

 

[alt_names]

DNS.1 = 填域名地址

IP.1 = 填域名ip

 

2、生成公钥证书,名称为public.crt

openssl req -new -x509 -nodes -days 730 -key private.key -out public.crt -config openssl.conf

 

chrome浏览器信任证书

设置-隐私设置和安全性-安全-管理证书-受信任的根证书办法机构-导入public.crt

 

 

如果应用是用java运行的,可以无需修改代码,直接在java证书库信任该证书

keystore导入证书

cd $JAVA_HOME/jre/lib/security
sudo keytool -import -trustcacerts -keystore cacerts -storepass changeit -noprompt -alias 证书别名  -file ${CERT:-default /app/file/cert/getcacert.cer}

删除证书

sudo keytool -delete -alias 证书别名 -trustcacerts -keystore cacerts -storepass changeit