Разбор DSA-ключа с golang в объект конфигурации tls - PullRequest
0 голосов
/ 19 апреля 2020

У меня есть набор закрытого ключа клиента DSA, файлы клиента и сертификата CA, которые я хотел бы использовать с библиотекой kafka- go. Я пытался разобрать файлы, но безуспешно. Указанные файлы ключей и сертификатов правильны, так как они используются в других местах, хотя и записаны в Javascript. Я пытался проанализировать их следующим образом:

func NewTLSConfig(clientCertFile, clientKeyFile, caCertFile string) (*tls.Config, error) {
    tlsConfig := tls.Config{}
    cert, err := tls.LoadX509KeyPair(clientCertFile, clientKeyFile
    ...

Где строковые входные данные являются правильными путями к файлам. В этот момент я получаю следующую ошибку:

tls: не удалось проанализировать закрытый ключ

, который поступает из функции parsePrivateKey функции tls библиотека. При проверке ввода функции, кажется, все в порядке.

cert.PrivateKey, err = parsePrivateKey(keyDERBlock.Bytes)

Объект keyDERBlock заполнен, имеет правильный тип и байты. В чем может быть проблема? Спасибо!

Я создал небольшое Github репо , чтобы проиллюстрировать проблему.

1 Ответ

0 голосов
/ 05 мая 2020

Проблема была решена с помощью ключей RSA вместо DSA.

...