關於證書,如何使用 go 語言從 pfx 檔案中提取出私鑰

Altruiste發表於2020-04-15

前言

最近在對接銀聯的支付,需要用到證照,其中有一類是pfx檔案,稍微瞭解了下大概就是把金鑰和其他東西打包起來的一種格式,現在,我想解這個pfx檔案,得到金鑰

遇到的問題

使用openssl將pfx檔案轉化為cert,解出來是這樣的,如下圖,go語言沒有自帶的包能處理pfx檔案,所以我找到了一個包:golang.org/x/crypto/pkcs12
裡面有個decode函式能decode pfx檔案,得到金鑰,但是得到的是一堆數字
,請問是啥原因,或者有沒有別的包可以起到解pfx的效果
關於證照,如何使用go語言從pfx檔案中提取出私鑰

    keyFile, err := ioutil.ReadFile(rootKey)
    if err != nil {
        t.Error(err)
        return
    }
    privateKey, keyBlock, err := pkcs12.DecodeAll(keyFile, "000000")
    if keyBlock == nil {
        t.Error(err)
        return
    }
//結果:308204be020100300d06092a864886f70d010101050004820。。。

##其他問題
golang.org/x/crypto/pkcs12
這個解出來的應該是pkcs12的,但銀聯要求的是rsa1加簽,對應的是pkcs8,就算用這個包解出了金鑰,還是得轉化

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章