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

时间: 2024-10-13 17:33:25

https证书的相关文章

申请https证书需要注意的4大问题

HTTPS证书是什么 https证书是数字证书中的一种,由受信任的数字证书颁发机构CA如[沃通CA]在验证服务器身份后颁发,具有服务器身份验证和数据传输加密 功能,因其要配置在服务器上,所以也称SSL服务器证书或者SSL证书.由合法CA机构颁发的ssl证书遵循ssl协议,通过在客户端浏览器和Web服务 器之间建立一条SSL安全通道,对传送的数据进行加密和隐藏;确保数据在传送中不被篡改和窃取,保障数据的完整性和安全性,ssl安全协议是由网景 (Netscape Communication)公司设计

自制Https证书并在Spring Boot和Nginx中使用(转)

白话Https一文中, 介绍了Https存在的目的和工作原理,但多是偏向于原理性的介绍,本文介绍如何一步一步自制一个能够通过浏览器认证的Https证书,并讲解在Spring Boot环境和Nginx环境中服务器端的配置. 如果你还没有读过白话Https,我强烈建议你先去读一下.按照白话Https中的介绍,Https协议涉及到的主体主要有三个:客户端.服务端.以及CA机构.如下图所示: 在白话Https一文中,曾介绍一个服务要申请使用Https的流程.本文所介绍的流程,针对自制Https证书,更多

项目迁移腾讯云后,用户反馈,https证书不匹配。

腾讯云大禹高防大禹BGP同一IP绑定多个证书,用户反馈无法匹配我们域名对应证书.但是浏览器是支持的.定位为客户端不支持sni在运维检查lb及高防证书关联无误,定位发现是用户端httpclient没有设置ssl.最终解决方案:不明确用户jdk版本,设置httpclient忽略证书验证. 引用: http://ju.outofmemory.cn/entry/115735 HTTPS和SNI HTTPS证书签名 ============================= 的前端代理服务器时候,通常会遇

Let's Encrypt,免费好用的 HTTPS 证书

#参考https://imququ.com/post/letsencrypt-certificate.html#####argparse安装#http://www.cnblogs.com/emanlee/p/4577249.html 很早之前我就在关注 Let's Encrypt 这个免费.自动化.开放的证书签发服务.它由 ISRG(Internet Security Research Group,互联网安全研究小组)提供服务,而 ISRG 是来自于美国加利福尼亚州的一个公益组织.Let's E

我的Android进阶之旅------>Android关于HttpsURLConnection一个忽略Https证书是否正确的Https请求工具类

下面是一个Android HttpsURLConnection忽略Https证书是否正确的Https请求工具类,不需要验证服务器端证书是否正确 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.UnsupportedEn

MSXML2.ServerXMLHTTP & HTTPS & 证书过期 — msxml3.dll '80072f05'

昨天测试一个几天前写的一个应用,时不时的报错: msxml3.dll  '80072f05' The date in the certificate is invalid or has expired 经过上午3个小时的努力,终于找到原因和解决办法. 原因: 证书过期 解决办法: Dim xmlhttp Set xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP")        xmlhttp.setOption(2) = 1305

免费好用的阿里云云盾证书服务(https证书)申请步骤

推荐一个免费的阿里云产品:云盾证书(https证书) 为了能让非专业人士看懂,同样尽量用直白的话,一般来说:当你个人需要建立网站,或者公司要建立官网.商城,通常需要先购买服务器或云主机,虚拟空间,然后将网页和程序.数据库部署上去,用户就可以用浏览器访问了,比如说浏览页面的内容.登录.发表评论.购物等.这时候浏览器默认是通过http协议与网站所在的服务器进行数据交互的,由于历史的原因,http被证实并不是那么安全,容易被别有用心的人窃取信息,于是就出现了https,也就是把http加密传输,区别就

在阿里云里申请免费Https证书SSL

在阿里云控制台:安全(云盾)->证书服务->购买证书里(地址:https://common-buy.aliyun.com/?spm=5176.2020520163.cas.1.zTLyhO&commodityCode=cas#/buy)  选择免费的证书类型完成购买 免费购买完成后,在订单里不去信息,输入需要使用Https服务的详细子域名,填写个人信息 完成信息后,接下来就是等待审批结果了,审批通过后,下载, 根据自己服务器的实际情况 ,选择相应类型,完成安装,我的是windows s

HTTPS证书生成原理和部署细节

今天摸索了下 HTTPS 的证书生成,以及它在 Nginx 上的部署.由于博客托管在 github 上,没办法部署证书,先记录下,后续有需要方便快捷操作.本文的阐述不一定完善,但是可以让一个初学者了解大致的原理,同时跟着操作可以为自己的博客/网站部署一个 HTTPS 证书. 网站部署 HTTPS 的重要性 看看下面,部分电信用户访问京东首页的时候,会看到右下角有一个浮动广告: 小白用户以为是京东有意放置的,细心的用户会发现,这个 iframe 一层嵌一层的恶心广告很明显是电信/中间人通过 DNS

let's encrypt生成免费https证书 ubuntu+tomcat+nginx+let's encrypt

1. 下载let's encrypt $ sudo add-apt-repository ppa:certbot/certbot $ sudo apt-get update $ sudo apt-get install certbot 2. 生成密钥,调用之前需要停止nginx certbot certonly --standalone -d www.域名1.com -d www.域名2.com 生成成功,提示如下 IMPORTANT NOTES: - Congratulations! Your