第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

解析 Go 中使用 openssl 生成的 curve25519 鍵

解析 Go 中使用 openssl 生成的 curve25519 鍵

Go
蕪湖不蕪 2023-07-26 17:26:46
使用OpenSSL1.1 及或更高版本,我能夠生成 curve25519 密鑰:openssl genpkey -algorithm x25519這會(huì)生成以下形式的私鑰:-----BEGIN PRIVATE KEY-----MC4CAQAwBQYDK2VuBCIEIDgk3GuFMIaUJd3m95jn/Z8oU+cK9FzPoidIDn/bqRlk-----END PRIVATE KEY-----我想在 Go 中解析這個(gè)密鑰文件,并可能使用golang.org/x/crypto/nacl/box來使用它。查看crypto/x509文檔,我找不到解析 curve25519 的解析函數(shù)。有人有主意嗎?我試過:pKey := `-----BEGIN PUBLIC KEY-----MCowBQYDK2VuAyEAfLLsWKkI/7EmTOkSf4fyHuRHDnKk6qNncWDzV8jlIUU=-----END PUBLIC KEY-----`block, _ := pem.Decode([]byte(pKey))key, err := x509.ParsePKIXPublicKey(block.Bytes)if err != nil {? ? fmt.Println(err)}我得到了錯(cuò)誤unknown public key algorithm。
查看完整描述

2 回答

?
qq_遁去的一_1

TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個(gè)贊

由于目前無法解析標(biāo)準(zhǔn)庫中的 X25519 密鑰,因此您可能必須“手動(dòng)”執(zhí)行此操作。

您可以通過使用encoding/asn1庫來解碼密鑰來“正確”地完成此操作,但在這種情況下,有一種更簡單的方法。

事實(shí)證明,對(duì)于私鑰和公鑰來說,實(shí)際密鑰只是密鑰的 Base64 解碼塊的最后 32 個(gè)字節(jié)。

所以你可以這樣做:

block,?_?:=?pem.Decode([]byte(pemString))
key?:=?block.Bytes[len(block.Bytes)-32:]

這適用于公鑰和私鑰,并為您提供[]byte包含適當(dāng)密鑰的 32 字節(jié)。


查看完整回答
反對(duì) 回復(fù) 2023-07-26
?
慕神8447489

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊

由于之前的制表符/空格,您的內(nèi)聯(lián)鍵值格式不正確-----END PUBLIC KEY-----


結(jié)果block就是nil導(dǎo)致后續(xù)函數(shù)出現(xiàn)段錯(cuò)誤。


這是解碼部分的快速修復(fù):


pKey := `-----BEGIN PRIVATE KEY-----

MCowBQYDK2VuAyEAfLLsWKkI/7EmTOkSf4fyHuRHDnKk6qNncWDzV8jlIUU=

-----END PRIVATE KEY-----`


block, _ := pem.Decode([]byte(pKey))


if block == nil || block.Type != "PRIVATE KEY" {

    log.Fatal("failed to decode PEM block containing private key")


}


key, err := x509.ParsePKIXPublicKey(block.Bytes)

if err != nil {

    log.Println("Parse PKI Error:", err)

    return

}

游樂場:https://play.golang.org/p/O2wk8rmKGWH


注意:ParsePKIXPublicKey函數(shù)無法識(shí)別該密鑰算法。


2009/11/10 23:00:00 解析 PKI 錯(cuò)誤:x509:未知的公鑰算法


查看完整回答
反對(duì) 回復(fù) 2023-07-26
  • 2 回答
  • 0 關(guān)注
  • 198 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)