如何驗證公鑰與私鑰匹配?在應用程序啟動時,從 base64 PEM 編碼字符串加載 2048 位 RSA 密鑰。我希望在繼續之前驗證密鑰是否有效并且它們是否匹配。簽名和驗證由我正在使用的下劃線庫完成。我可以簽署和驗證虛擬數據,但我正在尋找替代解決方案。初學者游樂場: https: //play.golang.org/p/tsB8Yp-xs47
1 回答

子衿沉夜
TA貢獻1828條經驗 獲得超3個贊
解決方案非常簡單
func verifyKeyPair(private, public string) bool {
// Handle errors here
block, _ := pem.Decode([]byte(rsaPrivateKey))
key, _ := x509.ParsePKCS1PrivateKey(block.Bytes)
pubBlock, _ := pem.Decode([]byte(rsaPublicKey))
pubKey, _ := x509.ParsePKIXPublicKey(pubBlock.Bytes)
return key.PublicKey.Equal(pubKey)
}
https://play.golang.org/p/tR6Ns0wDrlN
- 1 回答
- 0 關注
- 136 瀏覽
添加回答
舉報
0/150
提交
取消