Go 如何验证公钥是否与私钥签名匹配?
如何验证公钥与私钥匹配 在应用程序启动时,从base64 PEM编码字符串加载2048位RSA密钥。在继续之前,我希望验证密钥是否有效以及是否匹配。签名和验证由我使用的下划线库完成 我可以签署和验证虚拟数据,但我正在寻找替代解决方案Go 如何验证公钥是否与私钥签名匹配?,go,cryptography,rsa,Go,Cryptography,Rsa,如何验证公钥与私钥匹配 在应用程序启动时,从base64 PEM编码字符串加载2048位RSA密钥。在继续之前,我希望验证密钥是否有效以及是否匹配。签名和验证由我使用的下划线库完成 我可以签署和验证虚拟数据,但我正在寻找替代解决方案 初学者操场:解决方案非常简单 func verifyKeyPair(private, public string) bool { // Handle errors here block, _ := pem.Decode([]byte(rsaPriva
初学者操场:解决方案非常简单
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)
}
解决方案非常简单
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)
}