Node.js中.pfx后缀文件的处理方法


Posted in Javascript onMarch 10, 2017

前言

nodejs中,在做加密解密的时候,会得到第三方的各种各样的加密文件,其后缀也就那么几种吧,.key/.pem/.pfx等,是不是可以自定义,反正就是一个文件。

但是今天我看了很多的nodejs库好像也没有找到与java keytool这样的工具,因为在java里面,完全是可以读取pfx,然户进行在进行处理的,如果在nodejs中要如何操作,目前不知道,使用openssl做个转换处理先。

第一个命令是:

openssl pkcs12 -in xxxx.pfx -nocerts -nodes -out domain_encrypted.key

第二个命令是:

openssl rsa -in domain_encrypted.key -out private.key

哪位大神知道的,可以告知下,谢谢了。

==================补充=================

google上有个办法可以解析出两种格式的文件

第一种格式文件的方式

extract private key from .pfx file

# openssl pkcs12 -in myfile.pfx -nocerts -out private_key.pem -nodes
Enter Import Password:
MAC verified OK

第二种格式文件的方式

extract certificate from .pfx file

# openssl pkcs12 -in myfile.pfx -nokeys -out certificate_file.crt 
Enter Import Password:
MAC verified OK

详细的可到这里:http://tecadmin.net/extract-private-key-and-certificate-files-from-pfx-file/

==========================================

==========================================强烈补充

多日奋战,终于解决了这个问题,因为一直是一个私钥解密的问题

openssl pkcs12 -in xxxx_private.pfx -out xxxx_private.pem -nodes
openssl x509 -in xxxx_public.crt -inform der -outform pem -out xxxx_public.pem

这里主要是针对具体情况具体描述,可以变通取处理

因为对方给过来的是一个在window环境下,使用工具生成的pfx和crt文件。

经过对方给过来的生成工具的描述,这个crt文件还是一个cer后缀文件自己修改的cer->crt。可见这里如果对文件内容不了解,光从后缀来看会坑了很多人。

先来看第一行的命令语句.

经过文档的查询pfx文件是一个带有私钥跟证书的合体文件,通过上面的命令就可以得到一个文件就是private.pem,里面是一个含有证书和私钥的。

不知道的我这里举例。

私钥是以

-----BEGIN RSA PRIVATE KEY-----

开头的。

证书是以

-----BEGIN CERTIFICATE-----

开头的。对不起不方便把所有内容同时贴出来。很容易辨别的。

然后对方还会给你一个crt文件,这个事实上就是一个x509对应的证书,需要解出来,但是对于是java的应该就不需要了,不过是php的或这是node的就需要了。

当然是证书的话,就必须是以

-----BEGIN CERTIFICATE-----

开头的。

好了,如果你跟别人对接接口,遇到私钥公钥的问题,但是对方给了你pfx和crt文件的话,就按照这个命令去操作的吧,我已经在php和node环境下试过了。不过具体的算法还是要针对具体的情况来实施。

================补充================

REM export the ssl cert (normal cases)
openssl pkcs12 -in aa.pfx -out aa.pem -nokeys -clcerts

REM export the ssl cert (Crescendo load balancers)

openssl pkcs12 -in aa.pfx -out aa_tmp_cn.pem -nodes
openssl x509 -in aa_tmp_cn.pem -out aa_cn.pem -text

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

Javascript 相关文章推荐
一段非常简单的让图片自动切换js代码
Nov 10 Javascript
DOM_window对象属性之--clipboardData对象操作代码
Feb 03 Javascript
jsvascript图像处理—(计算机视觉应用)图像金字塔
Jan 15 Javascript
jQuery实现类似淘宝购物车全选状态示例
Jun 26 Javascript
用html+css+js实现的一个简单的图片切换特效
May 28 Javascript
使用JavaScript的AngularJS库编写hello world的方法
Jun 23 Javascript
总结JavaScript中布尔操作符||与&&的使用技巧
Nov 17 Javascript
jQuery简单实现input文本框内灰色提示文本效果的方法
Dec 02 Javascript
微信小程序 图片等比例缩放(图片自适应屏幕)
Nov 16 Javascript
Javascript基础回顾之(一) 类型
Jan 31 Javascript
最全的JavaScript开发工具列表 总有一款适合你
Jun 29 Javascript
JS对象与json字符串相互转换实现方法示例
Jun 14 Javascript
Vue.js结合bootstrap实现分页控件
Mar 10 #Javascript
js获取ip和地区
Mar 10 #Javascript
Vue.js bootstrap前端实现分页和排序
Mar 10 #Javascript
JavaScript组件开发之输入框加候选框
Mar 10 #Javascript
原生javascript移动端滑动banner效果
Mar 10 #Javascript
jQuery弹出窗口简单实现代码
Mar 09 #Javascript
JavaScript实现弹窗效果代码分析
Mar 09 #Javascript
You might like
晶体管单管来复再生式收音机
2021/03/02 无线电
PHP实现时间轴函数代码
2011/10/08 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
用javascript实现在小方框中浏览大图的代码
2007/08/14 Javascript
jquery tools之tooltip
2009/07/25 Javascript
Javascript函数中的arguments.callee用法实例分析
2016/09/16 Javascript
Bootstrap基本布局实现方法详解
2016/11/25 Javascript
react-native-fs实现文件下载、文本存储的示例代码
2017/09/22 Javascript
详解angularjs实现echart图表效果最简洁教程
2017/11/29 Javascript
vue解决一个方法同时发送多个请求的问题
2018/09/25 Javascript
从源码里了解vue中的nextTick的使用
2018/11/22 Javascript
javascript实现函数柯里化与反柯里化过程解析
2019/10/08 Javascript
JavaScript This指向问题详解
2019/11/25 Javascript
vue 使用微信jssdk,调用微信相册上传图片功能
2020/11/13 Javascript
[02:02:38]VG vs Mineski Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
[38:54]完美世界DOTA2联赛PWL S2 Rebirth vs LBZS 第一场 11.28
2020/12/01 DOTA
详解Python中的装饰器、闭包和functools的教程
2015/04/02 Python
python根据unicode判断语言类型实例代码
2018/01/17 Python
Python Flask框架扩展操作示例
2019/05/03 Python
Python实现PyPDF2处理PDF文件的方法示例
2019/09/25 Python
Python3 把一个列表按指定数目分成多个列表的方式
2019/12/25 Python
pandas 对group进行聚合的例子
2019/12/27 Python
Python实现实时数据采集新型冠状病毒数据实例
2020/02/04 Python
html2canvas把div保存图片高清图的方法示例
2018/03/05 HTML / CSS
html5的pushstate以及监听浏览器返回事件的实现
2020/08/11 HTML / CSS
世界上最大的隐形眼镜商店:1-800 Contacts
2018/11/03 全球购物
美国家居装饰网上商店:Lulu & Georgia
2019/09/14 全球购物
圣诞树世界:Christmas Tree World
2019/12/10 全球购物
护士实习自我鉴定
2013/10/22 职场文书
大学生学习生活的自我评价
2013/11/01 职场文书
大学生就业自荐书
2014/06/16 职场文书
2014年幼儿园学期工作总结
2014/12/05 职场文书
经理聘任证明
2015/03/02 职场文书
结婚典礼致辞
2015/07/28 职场文书
《狮子和鹿》教学反思
2016/02/16 职场文书
redis protocol通信协议及使用详解
2022/07/15 Redis