生成服务器端的私钥(key文件)
openssl genrsa -aes256 -out server.key 2048
运行时会提示输入密码,此密码用于加密key文件(参数des3是加密算法,也可以选用其他安全的算法),以后每当需读取此文件(通过openssl提供的命令或API)都需输入口令.如果不要口令,则可用以下命令去除口令:
去除key的密码
openssl rsa -in server.key -out server.key
生成服务器端证书签名请求文件(csr文件)
openssl req -new -key server.key -out server.csr
生成Certificate Signing Request(CSR),生成的csr文件交给CA签名后形成服务端自己的证书.屏幕上将有提示,依照其 提示一步一步输入要求的个人信息即可(如:Country,province,city,company等).
省去输入证书个人信息的简便方法
openssl req -new -key server.key -out server.csr -subj "/C=CN/ST=ShangHai/L=SH/O=Mxxxxe/OU=IT/CN=test.xxxxx.com.cn"
把key文件和cer文件合并为pfx文件
openssl pkcs12 -export -in qa-api-gateway.cer -inkey server.key -out qa-api-gateway.pfx
把key文件和cer文件和中间证书合并为pfx文件
-export 创建一个pfx文件
-out 导出文件的名字
-inkey key文件
-in 证书文件
-certfile 中间证书文件
openssl pkcs12 -export -out Anyconnect2021.pfx -inkey Anyconnect.metlife.com.cn.key -in Anyconnect.metlife.com.cn.cer -certfile 20210903-genzhengshu.cer
把pfx文件转换为p12文件--pfx格式证书和p12格式证书其实是同一个
openssl base64 -in Anyconnect2021.pfx -out Anyconnect2021.p12
Key.jks不见了的解决办法
/app/WebSphere/AppServer/usr/servers/app/server.xml
修改<keyStore id="defaultKeyStore" password="xxxxxx"/>
重启服务
Keytool command not found
找一下jdk位置
find / -name jre
进入
/usr/local/openjdk1.8.0_242/jre/bin
或
/app/WebSphere/AppServer/java/8.0/jre/bin
使用绝对路径的keytool
把证书的pem转换为cer
openssl x509 -inform pem -in cacert.pem -outform der -out cacert.cer
apache更新证书
证书信息在 /app/apache/conf/extra/httpd-ssl.conf
在/app/apache/conf/cert这个路径是别人来调用的证书 里面把csr和key替换一下
重启apache
nginx更新证书
在/app/nginx/cert/里把证书替换
重启nginx
查看证书
keytool -list -keystore key.jks
导出证书
keytool -exportcert -alias mp.weixin.qq.com -file /mp.cer.cer -rfc -keystore key.jks
mp.weixin.qq.com为导出证书的名字(key.jks里证书的名字)
/mp.cer.cer为目标位置和名字
导入证书
keytool -importcert -trustcacerts -alias mp.weixin.qq.com -file /mp.cer -keystore key.jks
mp.weixin.qq.com为导入后证书的名字(key.jks里证书的名字)
/mp.cer为目标位置和名字
删除证书
keytool -delete -alias [条目的别名] -keystore key.jks
密码信息在server.xml
重置密码注释server.env
证书路径
ps -ef | grep java
看一下应用的路径
这个路径是访问别人的证书位置
/app/WebSphere/AppServer/usr/servers/xxxx/resources/security/key.jks
或
/app/WebSphere/AppServer/java/8.0/jre/lib/security/cacerts
默认密码changeit