介绍opensll实现pem证书
Openssl之PEM系列
作者: LaoKa
20080426
1.PEM编码文件结构介绍
PEM全称是Privacy Enhanced Mail,该标准定义了加密一个准备要发送邮件的标准,主要用来将各种对象保存成PEM格式,并将PEM格式的各种对象读取到相应的结构中。它的基本流程是这样的:
1. 信息转换为ASCII码或其它编码方式;
2. 使用对称算法加密转换了的邮件信息;
3. 使用BASE64对加密后的邮件信息进行编码;
4. 使用一些头定义对信息进行封装,这些头信息格式如下(不一定都需要,可选的):
Proc-Type,4:ENCRYPTED
DEK-Info: cipher-name, ivec其中,第一个头信息标注了该文件是否进行了加密,该头信息可能的值包括ENCRYPTED(信息已经加密和签名)、MIC-ONLY(信息经过数字签名但没有加密)、MIC-CLEAR(信息经过数字签名但是没有加密、也没有进行编码,可使用非PEM格式阅读)以及CLEAR(信息没有签名和加密并且没有进行编码,该项好象是openssl自身的扩展,但是并没有真正实现);;第二个头信息标注了加密的算法以及使用的ivec参量,ivec其实在这儿提供的应该是一个随机产生的数据序列,与块加密算法中要使用到的初始化变量(IV)不一样。
5. 在这些信息的前面加上如下形式头标注信息:
-----BEGIN PRIVACY-ENHANCED MESSAGE-----
在这些信息的后面加上如下形式尾标注信息:
-----END PRIVACY-ENHANCED MESSAGE-----
上面是openssl的PEM文件的基本结构,需要注意的是,Openssl并没有实现PEM的全部标准,它只是对openssl中需要使用的一些选项做了实现,详细的PEM格式,请参考RFC1421-1424。
下面是一个PEM编码的经过加密的DSA私钥的例子:
-----BEGIN DSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,F80EEEBEEA7386C4
GZ9zgFcHOlnhPoiSbVi/yXc9mGoj44A6IveD4UlpSEUt6Xbse3Fr0KHIUyQ3oGnSmClKoAp/eOTb5Frhto85SzdsxYtac+X1v5XwdzAMy2KowHVk1N8A5jmE2OlkNPNtof132MNlo2cyIRYaa35PPYBGNCmUm7YcYS8O90YtkrQZZTf4+2C4kllhMcdkQwkrFWSWC8YOQ7w0LHb4cX1FejHHom9Nd/0PN3vn3UyySvfOqoR7nbXkrpHXmPIr0hxXRcF0aXcV/CzZ1/nfXWQf4o3+oD0T22SDoVcZY60IzI0oIc3pNCbDV3uKNmgekrFdqOUJ+QW8oWp7oefRx62iBfIeC8DZunohMXaWAQCU0sLQOR4yEdeUCnzCSywe0bG1diD0KYaEe+Yub1BQH4aLsBgDjardgpJRTQLq0DUvw0/QGO1irKTJzegEDNVBKrVnV4AHOKT1CUKqvGNRP1UnccUDTF6miOAtaj/qpzra7sSk7dkGBvIEeFoAg84kfh9hhVvF1YyzC9bwZepruoqoUwke/WdNIR5ymOVZ/4Liw0JdIOcq+atbdRX08niqIRkfdsZrUj4leo3zdefYUQ7w4N2Ns37yDFq7
-----END DSA PRIVATE KEY-----
有时候PEM编码的东西并没有经过加密,只是简单进行了BASE64编码,下面是一个没有加密的证书请求的例子:
去除key文件口令的命令: openssl rsa -in serverkey.pem 2)生成Certificate Signing Request(CSR),生成的csr文件交给CA签名后形成服务端自己的证书 openssl req -...
生成好以后可以验证一下(说是验证,其实就是看看内容): $ openssl x509 -in cacert.pem -text -noout 给自己颁发证书 $ openssl req -newkey rsa:4096 -key...
[y/n] y // 提交证书 // 校验根证书私钥密码 // 用 CA 根证书对服务器证书签字认证 5.把 server.pem 转换成 x509 格式(可以不用转换): openssl x509...
证书转换为 pem 格式的证书 openssl x509 -in johnsonemail.cer -inform DER -outform PEM -out johnsonemail.pem 3.证书撤消 (Johnson.key: 密钥对+证书信息)...
利用根证书申请生成自签名根证书,生成文件 cacert.pem openssl x509 -req -in careq.csr -out cacert.pem -signkey cakey.pem -days 3650 至此根证书制作完毕...
1. 创建私钥 : openssl genrsa -out ca/ca-key.pem 1024 2.创建证书请求 : openssl req -new -out ca/ca-req.csr -key ca/ca-key.pem ---Country Na...
用 CA 证书 cacert.pem 为 IIS 请求 certreq.txt 签发证书。(将 iis 服务器生成的 certreq.txt 存放 在 openssl/bin 下面) openssl ca -in certreq.txt -...
OpenSSL证书制作过程_IT/计算机_专业资料。OpenSSL证书制作过程比亚迪培训讲义 在 ...[ req ] default_bits = 1024 default_keyfile = privkey.pem distinguished_...
1.生成CA证书目前不使用第三方权威机构的CA来认证,自己充当CA的角色 root openssl genrsa -out root/root-key.pem 1024 open1.生成CA证书目前不使用第三方权威...
PKI-Application Security Authentication Platform OpenSSL 证书生成手册 文件标识: 文件状态 [ ● ] [ [ ] ] 草稿 正式发布 正在修改 当前版本: 文档类别: 作者...

我要评论