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 相关文章推荐
JavaScript 动态将数字金额转化为中文大写金额
May 14 Javascript
来自国外的14个图片放大编辑的jQuery插件整理
Oct 20 Javascript
关于JS控制代码暂停的实现方法分享
Oct 11 Javascript
Jquery中给animation加更多的运作效果实例
Sep 05 Javascript
javascript计算用户打开网页的停留时间
Jan 09 Javascript
jquery的ajax提交form表单的两种方法小结(推荐)
May 25 Javascript
jQuery  ready方法实现原理详解
Oct 19 Javascript
ES6中Symbol类型用法实例详解
Apr 06 Javascript
Angular中实现树形结构视图实例代码
May 05 Javascript
js获取html页面代码中图片地址的实现代码
Mar 05 Javascript
vue-cli3.0 环境变量与模式配置方法
Nov 08 Javascript
vue项目中js-cookie的使用存储token操作
Nov 13 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
一键删除顽固的空文件夹 软件下载
2007/01/26 PHP
根据ip调用新浪api获取城市名并转成拼音
2014/03/07 PHP
php实现将任意进制数转换成10进制的方法
2015/04/17 PHP
php实现贪吃蛇小游戏
2016/07/26 PHP
PHP+RabbitMQ实现消息队列的完整代码
2019/03/20 PHP
PHP实现文件上传操作和封装
2020/03/04 PHP
jQuery 判断页面元素是否存在的代码
2009/08/14 Javascript
js使用for循环及if语句判断多个一样的name
2014/09/09 Javascript
详谈JavaScript内存泄漏
2014/11/14 Javascript
JavaScript变量的作用域全解析
2015/08/14 Javascript
郁闷!ionic中获取ng-model绑定的值为undefined如何解决
2016/08/27 Javascript
easyUI实现类似搜索框关键词自动提示功能示例代码
2016/12/27 Javascript
Angular 2 ngForm中的ngModel、[ngModel]和[(ngModel)]的写法
2017/06/29 Javascript
Vue项目服务器部署之子目录部署方法
2019/05/12 Javascript
layui实现左侧菜单点击右侧内容区显示
2019/07/26 Javascript
vue服务端渲染操作简单入门实例分析
2019/08/28 Javascript
解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题
2020/09/02 Javascript
numpy中索引和切片详解
2017/12/15 Python
python  创建一个保留重复值的列表的补码
2018/10/15 Python
利用Python模拟登录pastebin.com的实现方法
2019/07/12 Python
详解Python Qt的窗体开发的基本操作
2019/07/14 Python
win10子系统python开发环境准备及kenlm和nltk的使用教程
2019/10/14 Python
python Django框架实现web端分页呈现数据
2019/10/31 Python
python sleep和wait对比总结
2021/02/03 Python
css3 border-image使用说明
2010/06/23 HTML / CSS
美国电视购物HSN官网:HSN
2016/09/07 全球购物
Prototype中如何为一个元素添加一个方法
2014/12/08 面试题
Laravel的加密解密与哈希实例讲解
2021/03/24 PHP
五年级音乐教学反思
2014/02/06 职场文书
年会搞笑主持词
2014/03/27 职场文书
人事专员岗位说明书
2014/07/29 职场文书
2014党委书记四风问题对照检查材料思想汇报
2014/09/22 职场文书
2014年餐厅服务员工作总结
2014/11/18 职场文书
中学生社区服务活动报告
2015/02/05 职场文书
幼儿园教师师德表现自我评价
2015/03/05 职场文书
《槐乡的孩子》教学反思
2016/02/20 职场文书