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 相关文章推荐
经典的解除许多网站无法复制文字的绝招
Dec 31 Javascript
js字符串截取函数substr substring slice使用对比
Nov 27 Javascript
提取jquery的ready()方法单独使用示例
Mar 25 Javascript
js不能获取隐藏的div的宽度只能先显示后获取
Sep 04 Javascript
jquery实现的代替传统checkbox样式插件
Jun 19 Javascript
jQuery无刷新分页完整实例代码
Oct 27 Javascript
AngularJS 面试题集锦
Sep 06 Javascript
angularjs中使用ng-bind-html和ng-include的实例
Apr 28 Javascript
D3.js进阶系列之CSV表格文件的读取详解
Jun 06 Javascript
使用JavaScript生成罗马字符的实例代码
Jun 08 Javascript
15分钟上手vue3.0(小结)
May 20 Javascript
JavaScript实现前端倒计时效果
Feb 09 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
汉字转化为拼音(php版)
2006/10/09 PHP
php ftp文件上传函数(基础版)
2010/06/03 PHP
PHP 正则判断中文UTF-8或GBK的思路及具体实现
2013/11/26 PHP
smarty模板局部缓存方法使用示例
2014/06/17 PHP
yii框架无限极分类的实现方法
2017/04/08 PHP
DOM节点的替换或修改函数replaceChild()用法实例
2015/01/12 Javascript
jquery实现的树形目录实例
2015/06/26 Javascript
【JS+CSS3】实现带预览图幻灯片效果的示例代码
2016/03/17 Javascript
解读Bootstrap v4 sass设计
2016/05/29 Javascript
AngularJS递归指令实现Tree View效果示例
2016/11/07 Javascript
Angular.js中ng-include用法及多标签页面的实现方式详解
2017/05/07 Javascript
vue父组件向子组件传递多个数据的实例
2018/03/01 Javascript
vue-cli axios请求方式及跨域处理问题
2018/03/28 Javascript
js实现详情页放大镜效果
2020/10/28 Javascript
[14:21]VICI vs EG (BO3)
2018/06/07 DOTA
Python元组拆包和具名元组解析实例详解
2018/03/26 Python
在python中pandas读文件,有中文字符的方法
2018/12/12 Python
python获取点击的坐标画图形的方法
2019/07/09 Python
python中pygame安装过程(超级详细)
2019/08/04 Python
python同步两个文件夹下的内容
2019/08/29 Python
python解析多层json操作示例
2019/12/30 Python
Python基于Tensor FLow的图像处理操作详解
2020/01/15 Python
利用python实现逐步回归
2020/02/24 Python
pytorch快速搭建神经网络_Sequential操作
2020/06/17 Python
python使用QQ邮箱实现自动发送邮件
2020/06/22 Python
python selenium xpath定位操作
2020/09/01 Python
加拿大品牌鞋包连锁店:Little Burgundy
2021/02/28 全球购物
艺术系大学生毕业个人自我评价
2013/09/19 职场文书
银行反四风对照检查材料
2014/09/29 职场文书
2014年涉外离婚协议书范本
2014/11/20 职场文书
2015年教师新年寄语
2014/12/08 职场文书
毕业纪念册寄语大全
2015/02/26 职场文书
公务员学习中国梦心得体会
2016/01/05 职场文书
法制教育讲座心得体会
2016/01/14 职场文书
Nginx解决前端访问资源跨域问题的方法详解
2021/03/31 Servers
python tkinter实现定时关机
2021/04/21 Python