go - 使用 golang 将 DSA key 解析为 tls 配置对象

标签 go ssl apache-kafka private-key dsa

我有一组 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/

相关文章:

java - KTable数据在Kafka中保存多久?或者说如何控制时间

java - 启用 SSL 后 Kafka Connect 超出 Java 堆空间

Go 语言导入;去获取 mywebsite.com/mylibrary/function

java - 如何在Spring Boot中使用客户端私钥和服务器提供的证书来调用服务器?

excel - VBA | WinHttpRequest.5.1 |忽略 SSL 错误不再起作用

python - 使用 Docker 部署 flask 应用程序失败,出现 "context.load_cert_chain(' cert.pem' ,'key.pem' ) FileNotFoundError : [Errno 2]"

go - Go解释中导出和未导出

for-loop - Golang File Reader范围错误

go - 获取变量\"$address\"不能是非输入类型\"String!\in go-graphql

java - Apache Kafka 中数据的增量加载