Node.js中.pfx尾碼檔案的處理方法,node.js.pfx

來源:互聯網
上載者:User

Node.js中.pfx尾碼檔案的處理方法,node.js.pfx

前言

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 -nodesEnter 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 -nodesopenssl 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 -clcertsREM export the ssl cert (Crescendo load balancers)openssl pkcs12 -in aa.pfx -out aa_tmp_cn.pem -nodesopenssl x509 -in aa_tmp_cn.pem -out aa_cn.pem -text

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的協助,如果有疑問大家可以留言交流。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.