我有一组 DSA 客户端私钥、客户端和 CA 证书文件,我想将其与 kafka-go 库一起使用。我一直在尝试解析文件,但没有成功。上述 key 和证书文件是正确的,因为它们正在其他地方使用,不过是用 Javascript 编写的。我一直在尝试以下列方式解析它们:
func NewTLSConfig(clientCertFile, clientKeyFile, caCertFile string) (*tls.Config, error) {
tlsConfig := tls.Config{}
cert, err := tls.LoadX509KeyPair(clientCertFile, clientKeyFile
...
字符串输入是正确的文件路径。此时我收到以下错误:
tls: failed to parse private key
来自 parsePrivateKey tls 库的功能。检查函数的输入时,它似乎没问题。
cert.PrivateKey, err = parsePrivateKey(keyDERBlock.Bytes)
key DERBlock 对象已填充,它具有适当的类型和字节。可能是什么问题?谢谢!
我创建了一个小的 Github repo来说明问题。
最佳答案
该问题已通过使用 RSA key 而不是 DSA 得到解决。
关于go - 使用 golang 将 DSA key 解析为 tls 配置对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61308905/