https证书
Posted skey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了https证书相关的知识,希望对你有一定的参考价值。
PKCS全称是Public-Key Cryptography Standards
是由RSA实验室与其它安全系统开发商为促进公钥密码的发展而制订的一系列标准
PKCS目前共发布过15个标准。常用的有:PKCS#12、X.509。
所有的证书都符合为Public Key Infrastructure (PKI) 制定的ITU-T X509国际标准。
PKCS#12 【用于存放个人证书,含私钥】
常用的后缀有:.p12 .pfx
X.509 【用于存放个人证书,不含私钥】
(ASCII编码)(D)常用的后缀是:.der .cer .crt
(Base64编码)(S)常用的后缀是:.pem .cer .crt
也就是说der和pam都是x.509格式的证书,唯一的区别就是编码方式
最简单的识别方法就是用记事本打开证书看下内容就知道是什么编码的格式了
使用keytool可生成p12格式证书
如果需要base64的X.509证书可在windows下可直接安装p12证书,安装后可在ie的中进行导出
internet选项 》 内容 》 证书 》 选中之前导入的证书进行导出cer格式
x.509证书包括两格格式:二进制(D)或Base64格式(S)的
############################################################
### 1、Keytool生成P12证书.bat
############################################################
rem keytool -genkey
rem -keystore E:\my_keystore 证书库路径,不写路径默认为当前脚本所有目录,里面可以放很多证书(这里网上很多地方都没说清楚)
rem -storetype PKCS12 证书类型,为了能导入至IE和Firefox,证书格式应该是PKCS12(这种类型的库不支持存储私钥),默认是jks
rem -storepass abc123456 证书库的密码
rem -alias web.p12 证书名称“web.p12”,这里指在证书库里放的其中一个证书
rem -keypass abc123 证书密码,PKCS12类型的库不支持私钥,可不设置,这里指在证书库里“web.p12”的密码,即私钥
rem -keyalg RSA 证书算法
rem -keysize 1024 证书长度
rem -validity 36500 证书有效期,单位天,36500表示100年,默认值是90天
rem -dname "CN=(名字与姓氏,实际填写的是IP或域名), OU=(组织单位名称), O=(组织名称), L=(城市或区域名称), ST=(州或省份名称), C=(单位的两字母国家代码)"
keytool -genkey -storetype PKCS12 -keystore my_keystore -storepass abc123456 -alias web.p12 -keypass abc123 -keyalg RSA -keysize 1024 -validity 36500 -dname "CN=127.0.0.1, OU=TEAM, O=WEB, L=GZ, ST=GD, C=CN"
pause
############################################################
### 2、P12证书转x.509二进制.bat
############################################################
keytool -keystore my_keystore -storepass abc123456 -export -alias web.p12 -file web.der
pause
############################################################
### 3、查看证书.bat
############################################################
rem 缺省情况下,-list 命令打印证书的 MD5 指纹。
rem 而如果指定了 -v 选项,将以可读格式打印证书。
rem 如果指定了 -rfc 选项,将以可打印的编码格式输出证书。
keytool -list -v -keystore my_keystore -storepass abc123456
pause
keytool -list -rfc -keystore my_keystore -storepass abc123456
pause
############################################################
### openssl转换
############################################################
1、使用openssl把PKCS12文件(my_keystore)转换成我们需要的pem文件(web.pem)
openssl my_keystore -in web.p12 -out web.pem -passin pass:mypass -passout pass:mypass
2、分离各种格式文件
通常jks文件包含了服务器的私钥(server.key),服务器证书(server.crt)
openssl my_keystore -in web.p12 -nodes -nocerts -out server.key
openssl my_keystore -in web.p12 -nodes -nokeys -clcerts -out server.crt
以上是关于https证书的主要内容,如果未能解决你的问题,请参考以下文章