您好,登錄后才能下訂單哦!
前言
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
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。