惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
雷峰网
雷峰网
J
Java Code Geeks
G
Google Developers Blog
博客园 - 司徒正美
The GitHub Blog
The GitHub Blog
L
LangChain Blog
人人都是产品经理
人人都是产品经理
GbyAI
GbyAI
Vercel News
Vercel News
S
SegmentFault 最新的问题
Engineering at Meta
Engineering at Meta
H
Hackread – Cybersecurity News, Data Breaches, AI and More
云风的 BLOG
云风的 BLOG
F
Fortinet All Blogs
Y
Y Combinator Blog
博客园_首页
Last Week in AI
Last Week in AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
罗磊的独立博客
A
About on SuperTechFans
B
Blog
Microsoft Security Blog
Microsoft Security Blog

博客园 - 黄尚

年前辞职,年后找工作 airport 抓包 配置ssh使用socks代理 配置git使用socks5代理 bash 相关的一些小代码片断 MacOS changed System Integrity Protection status CMakeLists.txt for nginx 构建最小的docker容器 centos 7 挂载大硬盘 rsync 通过 ssh 上传文件 php-fpm 在centos 7下的安装配置 在osx下通过vmware无GUI方式运行centos 7 ruby on rails 在centos 7下的安装配置 Mariadb 在centos 7下的安装配置 PostgreSQL 在centos 7下的安装配置 osx 编译安装配置 ruby on rails nginx相关的一些记录 用systemd脚本自动启动node js程序 SSH Tunneling
tls/ssl证书生成和格式转换
黄尚 · 2015-05-01 · via 博客园 - 黄尚

生成密钥:
openssl genrsa -out privkey.pem 2048

生成csr申请文件:
openssl req -sha256 -new -key privkey.pem -out pubkey.pem

生成自签名证书:
openssl x509 -req -days 365 -in my.csr -signkey my.key -out my.crt

转换为pfx格式:
openssl pkcs12 -export -out my.pfx -inkey my.key -in my.pem

PKCS7 转 PEM:

openssl pkcs7 -print_certs -in my.cer -out my.pem

JKS  转 PKCS12:

keytool -importkeystore -srckeystore my.jks -destkeystore my.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass passwordText -deststorepass passwordText -srcalias aliasText -destalias aliasText -srckeypass passwordText -destkeypass passwordText -noprompt

PKCS12 转 PEM:

openssl pkcs12 -in my.p12 -out my.pem -passin pass:password_of_p12 -passout pass:password_for_pem

PEM 转 DER:

openssl x509 -outform der -in my.pem -out my.der

PEM 转 P7B:

openssl crl2pkcs7 -nocrl -certfile my.pem -out my.p7b -certfile ca.pem

去掉private key密码:

openssl rsa -in my_encrypt.key -out my.key

申请免费证书:
https://www.letsencrypt.com

转换为tomcat所用证书格式:

openssl pkcs12 -export -in my.crt -inkey my.key -out my.pk12 -name sshkey

keytool -importkeystore -deststorepass 123455 -destkeypass 123455 -destkeystore my.keystore -srckeystore my.pk12 -srcstoretype PKCS12 -srcstorepass 123455 -alias sshkey

openssl pkcs12 -export -in my.crt -inkey my.key -certfile bundle.crt -out my.p12 -name sshkey

keytool -importkeystore -srckeystore my.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore my.jks -alias sshkey

列出jks的详细信息:

keytool -list -v -keystore my.jks 

检查证书文件是否匹配:

openssl x509 -noout -modulus -in my.crt | openssl md5
openssl rsa -noout -modulus -in my.key | openssl md5
openssl req -noout -modulus -in my.csr | openssl md5

检查证书链是否匹配:

openssl verify -CAfile bundle.crt my.crt

tomcat 配置:

<Connector port="8443" protocol="HTTP/1.1"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/usr/share/tomcat/ssl/my.keystore"
keystorePass="123455"
SSLVerifyClient="optional" SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_3DES_EDE_CBC_SHA" />