Вопрос или проблема
Я хочу преобразовать ключи ipsec ike из Solaris в формат, подходящий для Libreswan.
С помощью команды ikecert я экспортирую открытый ключ
ikecert certdb -e 0 > public.pem
и закрытый ключ
ikecert certlocal -e 0 > public.pem
Теперь с помощью openssl я пытаюсь преобразовать в формат pkcs12 и..
openssl pkcs12 -export -in chiavepubblica.pem -inkey chiaveprivata.pem -out YourName.p12
возвращает эту ошибку
4274747236:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:707:Expecting: ANY PRIVATE KEY
кто-нибудь знает способ экспортировать или преобразовать в подходящий формат для libreswan?
Спасибо
Ответ или решение
Чтобы решить проблему конвертации ключей IPsec для IKE в Solaris в формат PKCS#12, который совместим с Libreswan, выполните следующие шаги. Вы столкнулись с ошибкой в результате попытки использования OpenSSL, но ее можно исправить, следуя структурированному процессу.
Шаги по конвертации ключей:
-
Проверка экспортированных ключей:
Убедитесь, что файлыpublic.pem
иprivate.pem
действительно содержат публичный и приватный ключи соответственно. Вы можете использовать текстовый редактор или командуcat
для просмотра содержимого. Публичный ключ должен начинаться с-----BEGIN CERTIFICATE-----
, а приватный — с-----BEGIN PRIVATE KEY-----
или-----BEGIN RSA PRIVATE KEY-----
. -
Исправление экспорта приватного ключа:
Ваша команда для экспорта приватного ключа, вероятно, неверна. Проверьте, что командаikecert
корректно экспортирует только приватный ключ:ikecert certlocal -e 0 > private.pem
-
Проверка корректности файлов:
Используйте командуopenssl
для проверки, что файлы правильно отформатированы:openssl rsa -in private.pem -check openssl x509 -in public.pem -text -noout
-
Конвертация в PKCS#12:
После подтверждения корректности файлов, выполните конвертацию:openssl pkcs12 -export -in public.pem -inkey private.pem -out YourName.p12
Если все ключи верны, это должно работать без ошибок.
-
Проверка кодировки:
Убедитесь, что файлыpublic.pem
иprivate.pem
в кодировке UTF-8. Необходимо исключить специфические символы, которые могут вызывать ошибки при чтении OpenSSL. -
Конфигурация в Libreswan:
Пользуясь сконвертированным PKCS#12 файлом, проверьте документацию Libreswan для импорта сертификатов и ключей:ipsec newhostkey --output YourName.p12
Одна из возможных причин ошибки:
Ошибка PEM_read_bio:no start line
обычно указывает на то, что OpenSSL не распознал заголовок файла, так как он не соответствует ожидаемому формату. Убедитесь, что заголовки и окончания в PEM файлах находятся в точности такие, как указано выше.
Заключение:
Следуя этой инструкции, вы сможете успешно преобразовать свои ключи в формат PKCS#12 для использования в Libreswan. Если же возникнут дополнительные проблемы, рассмотрите возможность использования утилит для проверки корректности генерации и экспорта ключей в Solaris, возможно обращение к документации или специалистам по OpenSSL.