среда, 31 октября 2018 г.

OpenSSL готовим сертификат и закрытый ключ для импорта на Cisco ASA

Допустим у нас есть сертификат и закрытый ключ, оба в формате PEM
Нам нужен PCKS12 в BASE64

Но у меня тестовый уже в pfx (mycertandkey.pfx) но без промежуточного внутри, так что сначала получим из pfx - pem:

openssl pkcs12 -in mycertandkey.pfx -nocerts -out mycert.key

Вводим пароль на pfx, потом вводим пароль  на новый файл
Получаем файл с ключом но зашифрованный

openssl pkcs12 -in mycertandkey.pfx  -clcerts -nokeys -out mycert.pem
Получаем наш сертификат без корневого и промежуточного

openssl rsa -in mycert.key -out mycert.npkey 
Делаем закрытый сертификат без пароля (не зашифрованный).

Проверка соответствия закрытого ключа сертификату:

openssl rsa -noout -modulus -in mycert.npk | openssl md5

openssl x509 -noout -modulus -in mycert.pem | openssl md5

Хэши должны совпадать.

Далее нам нужен сертификат + промежуточный + корневой + закрытый ключ в base64

Сначала собираем все в pfx (потребуется создать пароль)
openssl pkcs12 -export -out certandinterandcaandkey.pfx -inkey mycert.npkey -in mycert.pem -certfile CaAndIntermediate.pem

CaAndIntermediate.pem - этофайл где лежат один за одним промежуточный сверху и корневой снизу (просто в notepad копируем в один файл эти два сертификата в формате pem)

И теперь получаем это все в Base64:
openssl base64 -in certandinterandcaandkey.pfx -out certandinterandcaandkey.base64

Теперь на Cisco ASA можно его импортировать:

crypto ca trustpoint TESTCAT
  enrollment terminal
  exit

crypto ca  import  TESTCAT pkcs12 и тут пароль на тот самый base64 файл
Вставляем сюда текст из файла
потом набираем quit