『壹』 如何从pem格式私钥文件中获取公钥
Linux 工具通使来用 base64 编码文本格式相关用自缀:
* 证书:.crt, .pem
* 私钥:.key
* 证书请求:.csr
.cer 像二进制证书证书 key 放同文件边候扩展名通叫 .pemJava keystore 都二进制像自格式
其实类 UNIX 系统关注文件名缀程序并证书、密钥都明显标识所相关软件( openssl)处理管用扩展名乱用扩展名自识别便桌面环境能扩展名与默认操作、图标关联起
知道文件啥使用 file 命令识别试试经验直接拿文本编辑器打看看
-
『贰』 openssl pem证书 转换为p12类型证书
我找到的一个方法是 :生成 ->生成csr->生成crt->生成der->生成p12
以下是那个博客的方法:
生成强度是 1024 的 RSA 私钥
$ openssl genrsa -out private.pem 1024
执行以代码生成一个私钥,Pem文件,其实Pem文件就是一般的文本格式~看下图~
这是文件:
选择一个文本编辑器打开次文件可以看到其就是一个普通的文本:
-----BEGIN RSA PRIVATE KEY-----
/+
1NgL6SfO/UAhKL6rAwTk9t8/
+MYe7PwIDAQAB
+RV0qqw8ye7BN
+ssaP3SGAEug3tY2ojSYixmB
+
4y+E2YUqx/x6XPohlJUQoZBJQ3Zt0RQ+
/KiamXURwAUwGGU
aVy9o1akS48C42gsF+
RnJqV7xnabkASHjqEVJe/
4cZhpiIy7HoVyHa/ vklF
XWxEJe//KTXe/6rBjmoS
bxoSEpKNHpW6dgL/6S6WQuB8j3tNUUNj5O99cU6DLsM=
-----END RSA PRIVATE KEY-----
接着跟着笔者一起执行下面的操作吧~
创建证书请求
$ openssl req -new -key private.pem -out rsacert.csr
这时候控制条要求输入以下一些个人信息~那就跟着提示来吧~
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:beijing
Locality Name (eg, city) []:beijing
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Erma
Organizational Unit Name (eg, section) []:com
Common Name (e.g. server FQDN or YOUR name) []:Erma
Email Address []:[email protected]
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
这时候生成了一个csr文件
生成证书并且签名,有效期10年
$ openssl x509 -req -days 3650 -in rsacert.csr -signkey private.pem -out rsacert.crt
转换格式-将 PEM 格式文件转换成 DER 格式
$ openssl x509 -outform der -in rsacert.crt -out rsacert.der
导出P12文件
$ openssl pkcs12 -export -out p.p12 -inkey private.pem -in rsacert.crt
最后生成了两个我们要用的文件,一个p12文件和一个der文件,der文件是公钥,p12文件是私钥。
『叁』 老师你好,在ssl证书中,cer是公钥证书,key是私钥证书,crt是证书链对吗
一、SSL证书文件
如图所示,就是一些SSL证书文件。上图带有root CA 字样的证书文件就是根证书, 然后带intermediate ca 字样的就是中间证书文件, 最后一个 ssl servercertificate 字样的证书即为证书文件。
了解认识SSL证书文件,才能更好的去安装SSL证书。虽然大部分时候直接安装证书文件,浏览器也会显示安全,但是由于一些浏览器会自动补齐证书链,但是证书链缺失的话,一些手机端或者部分浏览器可能会报不安全的提醒,所以在安装的时候建议安装完整的证书文件,补齐证书链。
二、SSL证书格式
在SSL证书源文件中你会发现有很多格式。不同的web服务器对于证书的格式是有要求的,接下来也带大家了解下不同格式的证书文件。
PEM:- Privacy Enhanced Mail,打开看文本格式,以”—–BEGIN…”开头, “—–END…”结尾,内容是BASE64编码.上述一般证书文件 ,中间证书和根证书,证书文件很多都是pem格式的。Apache和NIgnix服务器偏向于使用这种编码格式.
DER:这种格式也是常见的证书格式,跟pem类似,中间证书和根证书,证书文件很多都是DER的,Java和Windows服务器偏向于使用这种编码格式。
JKS :jks是Java密钥库(KeyStore)比较常见的一种格式。一般可用通过cer 或者pem 格式的证书以及私钥的进行转化为jks格式,有密码保护。所以它是带有私钥的证书文件,一般用户tomcat环境的安装
PFX:pfx格式的证书 也是由cer 或者pem格式的证书文件以及私钥转化而来,所以该证书文件也是带有私钥的证书文件,一般用于iis 环境的证书安装。
『肆』 证书.PFX , .cer或crt , .key , .jks 通过什么指令进行互相转换
常见证书格式及相互转换
PKCS 全称是 Public-Key Cryptography Standards ,是由 RSA 实验室与其它安全系统开发商为促进公钥密码的发展而制订的一系列标准,PKCS 目前共发布过 15 个标准。 常用的有:
PKCS#7 Cryptographic Message Syntax Standard
PKCS#10 Certification Request Standard
PKCS#12 Personal Information Exchange Syntax Standard
X.509是常见通用的证书格式。所有的证书都符合为Public Key Infrastructure (PKI) 制定的 ITU-T X509 国际标准。
PKCS#7 常用的后缀是: .P7B .P7C .SPC
PKCS#12 常用的后缀有: .P12 .PFX
X.509 DER 编码(ASCII)的后缀是: .DER .CER .CRT
X.509 PAM 编码(Base64)的后缀是: .PEM .CER .CRT
.cer/.crt是用于存放证书,它是2进制形式存放的,不含私钥。
.pem跟crt/cer的区别是它以Ascii来表示。
pfx/p12用于存放个人证书/私钥,他通常包含保护密码,2进制方式
p10是证书请求
p7r是CA对证书请求的回复,只用于导入
p7b以树状展示证书链(certificate chain),同时也支持单个证书,不含私钥。
—————-
小美注:
der,cer文件一般是二进制格式的,只放证书,不含私钥
crt文件可能是二进制的,也可能是文本格式的,应该以文本格式居多,功能同der/cer
pem文件一般是文本格式的,可以放证书或者私钥,或者两者都有
pem如果只含私钥的话,一般用.key扩展名,而且可以有密码保护
pfx,p12文件是二进制格式,同时含私钥和证书,通常有保护密码
怎么判断是文本格式还是二进制?用记事本打开,如果是规则的数字字母,如
—–BEGIN CERTIFICATE—–
//a3VIcDjANBgkqhkiG9w0BAQUFADBy
—–END CERTIFICATE—–
就是文本的,上面的BEGIN CERTIFICATE,说明这是一个证书
如果是—–BEGIN RSA PRIVATE KEY—–,说明这是一个私钥
文本格式的私钥,也可能有密码保护
文本格式怎么变成二进制? 从程序角度来说,去掉前后的—-行,剩下的去掉回车,用base64解码,就得到二进制了
不过一般都用命令行openssl完成这个工作
—————
一 用openssl创建CA证书的RSA密钥(PEM格式):
openssl genrsa -des3 -out ca.key 1024
二用openssl创建CA证书(PEM格式,假如有效期为一年):
openssl req -new -x509 -days 365 -key ca.key -out ca.crt -config openssl.cnf
openssl是可以生成DER格式的CA证书的,最好用IE将PEM格式的CA证书转换成DER格式的CA证书。
三 x509到pfx
pkcs12 -export –in keys/client1.crt -inkey keys/client1.key -out keys/client1.pfx
四 PEM格式的ca.key转换为Microsoft可以识别的pvk格式。
pvk -in ca.key -out ca.pvk -nocrypt -topvk
五 PKCS#12 到 PEM 的转换
openssl pkcs12 -nocerts -nodes -in cert.p12 -out privatekey.pem
openssl pkcs12 -clcerts -nokeys -in cert.p12 -out cert.pem
openssl pkcs12 -nodes -in ./cert.p12 -out ./cert_key.pem
六 从 PFX 格式文件中提取私钥格式文件 (.key)
openssl pkcs12 -in mycert.pfx -nocerts -nodes -out mycert.key
七 转换 pem 到到 spc
openssl crl2pkcs7 -nocrl -certfile venus.pem -outform DER -out venus.spc
用 -outform -inform 指定 DER 还是 PAM 格式。例如:
openssl x509 -in Cert.pem -inform PEM -out cert.der -outform DER
八 PEM 到 PKCS#12 的转换,
openssl pkcs12 -export -in Cert.pem -out Cert.p12 -inkey key.pem
九 cer 到 pem
openssl x509 -in aps_developer.cer -inform DER -out aps_developer.pem -outform PEM
十 der 到 pem
der和cer是一样的,如果openssl x509不能load证书,报如下错:
unable to load certificate
就说明不是一个证书,用下面的命令试一下,因为der也可能是一个csr转换格式后的文件:
openssl req -inform der -outform pem -in ./customer.der -out ./customer.csr
十一、密钥去掉加密(使用时不用手动输入密码)
openssl rsa -in customerPrivateKey.pem -out ./customerPrivateKey_unenrypted.pem
十二、合成证书和密钥
cat ./customerPrivateKey_unenrypted.pem ./mdm_push_cert.pem > merger2.pem
『伍』 请教如何将cer格式证书转换成pem文件
crt和cer是一样的格式来合成cert,源都是证书公钥文件 ;key是私钥,key转成cer只需要用记事本打开,复制到cer格式的里面去就行,但是会失去key的作用——沃通(wosign)专业的数字证书CA机构
『陆』 如何将.crt的ssl证书文件转换成.pem格式
代码如下:抄 cat your_server.crt .crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > your_server.pem rt和cer是一袭样的格式合成cert,都是证书公钥文件 ;
『柒』 如何生成CA证书
创建根证书密钥文件(自己做CA)root.key:
创建根证书的申请文件root.csr:
创建一个自当前日期起为期十年的根证书root.crt:
创建服务器证书密钥server.key:
创建服务器证书的申请文件server.csr
创建自当前日期起有效期为期两年的服务器证书server.crt
创建客户端证书密钥文件client.key
创建客户端证书的申请文件client.csr
创建一个自当前日期起有效期为两年的客户端证书client.crt
将客户端证书文件client.crt和客户端证书密钥文件client.key合并成客户端证书安装包client.pfx
保存生成的文件备用,其中server.crt和server.key是配置单向SSL时需要使用的证书文件,client.crt是配置双向SSL时需要使用的证书文件,client.pfx是配置双向SSL时需要客户端安装的证书文件 .crt文件和.key可以合到一个文件里面,把2个文件合成了一个.pem文件(直接拷贝过去就行了)
『捌』 后缀名cer和crt的不同之处,为什么申请证明书之后要把后缀名从cer改为crt
.CRT = 扩展名CRT用于证书。证书可以是DER编码,也可以是PEM编码。扩展名CER和CRT几乎是同义词。内这种情容况在各种unix/linux系统中很常见。
CER = CRT证书的微软型式。可以用微软的工具把CRT文件转换为CER文件(CRT和CER必须是相同编码的,DER或者PEM)。扩展名为CER的文件可以被IE识别并作为命令调用微软的cryptoAPI(具体点就是rudll32.exe
(8)pem证书crt扩展阅读
Windows中的证书扩展名有好几种,比如.cer和.crt。通常而言,.cer文件是二进制数据,而.crt文件包含的是ASCII数据。
cer文件包含依据DER(Distinguished Encoding Rules)规则编码的证书数据,这是x.690标准中指定的编码格式。
X.509是一个最基本的公钥格式标准,里面规定了证书需要包含的各种信息。通常我们提到的证书,都是这个格式的,里面包含了公钥、发布者的数字签名、有效期等内容。要强调的是,它只里面是不包含私钥的。相关的格式有:DER、PEM、CER、CRT。
『玖』 ssl证书 只有crt文件 但是使用时需要key或pem文件 请问如何转换
crt和cer是一样的格式合成cert,都是证书公钥文件 ;key是私钥,key转成cer只需要用记事本打开,专复制到属cer格式的里面去就行,但是会失去key的作用——沃通(wosign)专业的数字证书CA机构
『拾』 SSL中,公钥,私钥,证书的后缀名都是些啥
Linux 下的工具们通常使用 base64 编码的文本格式,相关常用后缀如下:
* 证书:.crt, .pem
* 私钥:.key
* 证书请求:.csr
.cer 好像是回二进制的证书。当然你也答可以把证书和 key 放到同一个文件里边。这时候扩展名通常叫 .pem。Java 的 keystore 什么的都是二进制的,好像是自有格式。
其实在类 UNIX 系统上,关注文件名后缀的程序并不多的。而证书、密钥都是有明显的标识的,所以相关软件(如 openssl)可以处理,而不管你用的什么扩展名。当然乱用扩展名自己识别不便,桌面环境也不能将扩展名与默认操作、图标关联起来。
如果不知道一个文件是个啥,可以使用 file 命令识别试试。有经验的也可以直接拿文本编辑器打开看看。