基于 openssl 及 keytool 创建 ssl 证书并配置到 nginx 和 tomcat


1、openssl 创建 crt 证书示例

openssl genrsa -des3 -out server.key 2048 -passout DwpPAd23xzvZTn09RmMuZKe3T4FeXfhM

openssl req -utf8 -new -newkey rsa:2048 -nodes /
    -keyout server.key -out server.csr /
    -subj "/C=CN/ST=湖北/L=武汉/O=武大吉奥信息技术有限公司/CN=武大吉奥信息技术有限公司"

openssl x509 -req -days 7300 -in server.csr -signkey server.key -out server.crt

 

2、nginx 配置 crt 证书示例

server {
    listen 9011 ssl;
    ssl_certificate /ssl/server.crt;
    ssl_certificate_key /ssl/server.key;
    error_page 497 301 https://$http_host$request_uri;
    client_max_body_size 1024M;
    location /Usersystem {
        proxy_pass https://172.16.20.132:8081;
        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

 

3、keytool 创建 keystore 证书示例

keytool -genkey /
 -alias tomcat /
 -keyalg RSA /
 -storetype pkcs12 /
 -validity 7300 /
 -keystore /ssl/server.keystore /
 -keysize 2048 /
 -keypass DwpPAd23xzvZTn09RmMuZKe3T4FeXfhM /
 -storepass DwpPAd23xzvZTn09RmMuZKe3T4FeXfhM /
 -dname "CN=武大吉奥信息技术有限公司, OU=武大吉奥信息技术有限公司, O=武大吉奥信息技术有限公司, L=武汉, S=湖北, C=中国"

如需添加 SAN 信息则 通过 -ext 参数实现,如:

keytool -genkey /
 -alias tomcat /
 -keyalg RSA /
 -storetype pkcs12 /
 -validity 7300 /
 -keystore /ssl/server.keystore /
 -keysize 2048 /
 -keypass DwpPAd23xzvZTn09RmMuZKe3T4FeXfhM /
 -storepass DwpPAd23xzvZTn09RmMuZKe3T4FeXfhM /
 -dname "CN=武大吉奥信息技术有限公司, OU=武大吉奥信息技术有限公司, O=武大吉奥信息技术有限公司, L=武汉, S=湖北, C=中国" /
 -ext SAN=dns:test.abc.com,ip:172.16.20.132

 

4、tomcat 配置证书使用

tomcat 开启 https 配置须在 /srv/tomcat8/conf/server.xml 文件的 <Connector port=”8080″ 下添加一个新的 Connector:

<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
           port="8443" maxThreads="200" URIEncoding="UTF-8"
           scheme="https" secure="true" SSLEnabled="true"
           keystoreFile="/ssl/server.keystore" keystorePass="DwpPAd23xzvZTn09RmMuZKe3T4FeXfhM"
           clientAuth="false" sslProtocol="TLS"/>

 

5、附赠一个 crt 证书转 keystore 证书实例:

openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12

keytool -importkeystore -v /
-srckeystore server.p12 /
-srcstoretype pkcs12 /
-srcstorepass DwpPAd23xzvZTn09RmMuZKe3T4FeXfhM /
-destkeystore server.keystore /
-deststoretype jks /
-deststorepass DwpPAd23xzvZTn09RmMuZKe3T4FeXfhM

 

原创文章,作者:端木书台,如若转载,请注明出处:https://blog.ytso.com/271834.html

(0)
上一篇 2022年7月7日
下一篇 2022年7月7日

相关推荐

发表回复

登录后才能评论