(转)OpenSSL命令---pkcs12
用途:
pkcs12文件工具,能生成和分析pkcs12文件。PKCS#12文件可以被用于多个项目,例如包含Netscape、 MSIE 和 MS Outlook。
用法:
openssl pkcs12 [-export] [-chain] [-inkey filename] [-certfile filename] [-CApath arg] [-CAfile arg]
[-name name] [-caname name] [-in filename] [-out filename] [-noout] [-nomacver] [-nocerts]
[-clcerts] [-cacerts] [-nokeys] [-info] [-noiter] [-maciter] [-nomaciter] [-nomac] [-twopass] [-descert]
[-certpbe alg] [-keypbe alg] [-macalg digest] [-keyex] [-keysig] [-password arg] [-passin arg] [-passout arg]
[-rand file(s)] [-LMK] [-CSP name][-engine e] [-des] [-des3] [-aes128] [-aes192] [-aes256] [-idea]
[-camellia128] [-camellia192] [-camellia256] [-nodes]
选项说明:
PKCS#12文件在创建或分析的时候要依赖有一些选项。默认的是分析一个PKCS#12文件。一个PKCS#12文件可以用B<-export>选项来创建。
-in filename:指定私钥和证书读取的文件,默认为标准输入。必须为PEM格式。
-out filename:指定输出的pkcs12文件,默认为标准输出。
-info:输出PKCS#12文件结构的附加信息值。例如用的算法信息以及迭代次数。
-des3:在输出之前用3DES算法加密私钥值。此项为默认。
-aes128、-aes192、-aes256:在输出之前用AES算法加密私钥值。
-camellia128、-camellia192、-camellia256:在输出之前用camellia算法加密私钥值。
-export:这个选项指定了一个PKCS#12文件将会被创建。
-in filename:指定私钥和证书读取的文件,默认为标准输入。必须为PEM格式。
-out filename:指定输出的pkcs12文件,默认为标准输出。
-inkey filename:指定私钥文件的位置。如果没有被指定,私钥必须在-in filename中指定。
-name name:指定证书以及私钥的友好名字。当用软件导入这个文件时,这个名字将被显示出来。
-certfilefilename:添加filename中所有的证书信息值。
-caname name:指定其它证书的友好名字。这个选项可以被用于多次。
-password arg:指定导入导出口令来源。
-passin arg:输入文件保护口令来源。
-passout arg:指定所有输出私钥保护口令来源。
-chain:如果这个选项被提出,则添加用户证书的证书链。标准CA中心用它来搜索。如果搜索失败,则是一个重大的错误。
-descert:用3DES对PKCS12进行加密,这样杨浦可能会导致PKCS12文件被一些“export grade”软件不能够读取。默认的是用3DES对私钥文件进行加密,用40位的RC2对证书公钥文件进行加密。
-certpbealg:该选项允许指定证书的加密算法。任何PKCS#5 v1.5或 PKCS#12 PBE类型的算法都可以被使用。默认使用的是40位的RC2。
-keypbe alg:该选项允许指定证书私钥的加密算法。任何PKCS#5 v1.5或 PKCS#12 PBE类型的算法都可以被使用。默认使用的是3DES。
-keyex:设置私钥仅仅被用于密钥交换。
-keysig:设置私钥仅仅被用于数字签名。
-macalg digest:指定MAC摘要算法。如果没有被指定,则默认使用sha1。
-nomaciter、-noiter:这个选项影响MAC值和密钥算法的迭代次数。除非你希望产生的文件能与MSIE 4.0相兼容,可以把这两个选项丢弃一边。
-maciter:加强完整性保护,多次计算MAC。
-nomac:不去规定MAC值的完整性。
-rand file(s):指定随机数种子文件,多个文件间用分隔符分开,windows用“;”,OpenVMS用“,“,其他系统用“:”。
-CApatharg:指定CA目录。该目录必须是一个标准证书目录:每个CA文件的文件名为XXXX.0,XXXX为其持有者摘要值。
有一大部分选项将不会使用。对PKCS#12文件来说,仅仅B<-in>和 B<-out>需要被使用。对文件创建来说,B<-export>和 B<-name>使用。
openssl pkcs12 -in file.p12 -out file.pem
openssl pkcs12 -in file.p12 -clcerts -out file.pem
openssl pkcs12 -in file.p12 -out file.pem -nodes
openssl pkcs12 -in file.p12 -info -noout
openssl pkcs12 -export -inkey ocspserverkey.pem -in ocspservercert.pem -out ocspserverpkcs12.pfx
openssl pkcs12 -export -inkey ocspserverkey.pem -in ocspservercert.pem -CAfile demoCA/cacert.pem -chain -out ocsp1.pfx
openssl pkcs12 –in ocsp1.pfx -out certandkey.pem
openssl pkcs12 –in ocsp1.pfx -info
OpenSSL 0.9.6a以前的版本在PKCS#12的产生过程中有一个bug。在稀有的情况下用一个无效的密钥来加密并产生PKCS#12文件。这样做的结果是一些PKCS#12文件被其它的应用程序(MSIE或Netscape)会触发这个bug。因为他们不会被OpenSSL或相似的OpenSSL在产生PKCS#12文件时不能够被加密。产生的通道相当的小:在256中比1还小。
一方面这个Bug的固定影响是老的无效的加密了的PKCS#12文件不能够被固定的版本所分析。在这种情况下,B<pkcs12>会报告’ the MAC is OK but fail with a decryption error when extracting private keys’错误。
这个问题的解决方法是用老的OpenSSL版本从PKCS#12中来提起私钥文件和证书,用新的版本、提取到的证书、私钥来重新创建PKCS#12文件。例如:
old-openssl -in bad.p12 -out keycerts.pem
openssl -in keycerts.pem -export -name "My PKCS#12 file" -out fixed.p12
转自:http://www.cnblogs.com/pangblog/p/3424217.html
转载于:https://www.cnblogs.com/greywolf/p/3476622.html
(转)OpenSSL命令---pkcs12相关推荐
- (2) OpenSSL命令
openssl命令的格式是"openssl command command-options args",command部分有很多种命令,这些命令需要依赖于openssl命令才能执行 ...
- openssl命令查看证书有效期_使用 openssl 生成证书
一.openssl 简介 openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用.健壮.功能完备的工具套件,用以支持SSL/TLS 协议的实现. 官网:https://www.opens ...
- openssl命令查看证书有效期_使用OpenSSL来检查SSL证书过期的方法
对于Linux和Unix用户,你可能需要检查系统上的本地SSL证书文件是否过期,OpenSSL附带一个SSL/TLS客户端,可用于建立与使用SSL证书保护的服务器的透明连接,或直接调用证书文件.本文将 ...
- OpenSSL命令大全,CA证书生成,客户端证书生成实例
1.X509证书链 x509证书一般会用到三类文件,key,csr,crt. Key是私用密钥,openssl格式,通常是rsa算法. csr是证书请求文件,用于申请证书.在制作csr文件的时候,必须 ...
- linux之用openssl命令Base64编码解码、md5/sha1摘要、AES/DES3加密解密
1.我们先看openssl help命令会输出什么? 2.我们用openssl命令实现字符串和文本的Base64编码和解码 openssl base64 openssl base64 -d 3.我们用 ...
- openssl 加密解密 指令_Shell openssl命令加密解密字符串
Linux下的 openssl 命令解密 我们以在线加密网站为例 http://tool.chacuo.net/cryptdes 我们选择des cbc模式,密钥为abcdefgh, 偏移量为1234 ...
- 转载椭圆曲线原理和openssl命令操作
原文地址:https://www.johannes-bauer.com/compsci/ecc/ 椭圆曲线原理和openssl命令操作
- 基础练习: 使用openssl命令创建RSA密钥
本文大部分内容参考自: http://blog.csdn.net/zhymax/article/details/7683925 <使用openssl命令剖析RSA私钥文件格式> 原作者博客 ...
- openssl 命令行加密解密
openssl 命令行加密解密 创建一个 data.txt 文件保存数据 123456 openssl aes-128-cbc 对 data.txt 文件进行加密 加密的 key为 E05A84ED2 ...
最新文章
- c语言翻译成php,C语言如何把它翻译成中文
- [剑指offer]面试题第[60]题[JAVA][n个骰子的点数][动态规划][空间优化]
- 面试中被问到HashMap的结构,1.7和1.8有哪些区别?这篇做深入分析!
- 解决 ssh 登录到ubuntu server 慢的问题
- 安卓原生系统_小米新机曝光,运行原生安卓系统;准!四川宜宾5.3级地震提前14秒预警...
- libtoolize: error: Please install GNU M4, or 'export M4=/path/to/gnu/m4'
- DataGame : AIIA 2019
- 怎么撰写营销策划书?
- 神经元细胞属于什么细胞,人体有多少神经元细胞
- 一个移动开发老码农的书单
- 自考软考需要做什么题,自考软考真题哪里有呢?
- 点击word页面自动弹出信息检索
- Kt学习笔记(九)数据类、封闭类
- 王者里的高清绝美海报(别再用黑乎乎的背景了)
- 蓝桥杯真题:天干地支
- 【ZOJ 4062】Plants vs. Zombies
- 一个不错的电影网站推荐
- Android第一节(体系介绍),维维复习
- MT6753芯片资料MT6753手机芯片资料
- 车牌怎么识别?说两种识别途径
热门文章
- VTK:Rendering之Rotations
- VTK:相互作用之MouseEventsObserver
- VTK:相互作用之ImageClip
- Qt Creator从Blender导出3D资产
- C语言求两个链表的合并点的算法(附完整源码)
- C++构造函数的分类及调用
- C和C++线性表的链式存储
- C++创建一个特殊的类
- B05_NumPy从数值范围创建数组(numpy.arange,numpy.linspace,numpy.logspace)
- 模拟使用Flume监听日志变化,并且把增量的日志文件写入到hdfs中