Как экспортировать цепочку сертификатов CA из PFX в формат PEM без атрибутов пакетов

Использование встроенных функций времени GNU awk:

awk '
  function to_time(time,   t,a) {
    split(time, a, ":")
    t = mktime("1970 1 1 " a[1] " " a[2] " " a[3])
    return t
  }
  {print $1, $2, to_time($2) - to_time($1)}
' file
34
25.05.2017, 18:32
3 ответа

Решение, к которому я наконец пришел, состояло в том, чтобы передать его через sed.

openssl pkcs12 -in <filename.pfx> -nocerts -nodes | sed -ne '/-BEGIN PRIVATE KEY-/,/-END PRIVATE KEY-/p' > <clientcert.key>
openssl pkcs12 -in <filename.pfx> -clcerts -nokeys | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > <clientcert.cer>
openssl pkcs12 -in <filename.pfx> -cacerts -nokeys -chain | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > <cacerts.cer>
66
27.01.2020, 19:37

Только что попробовал использовать

openssl pkcs12 -in <filename.pfx> -cacerts -nokeys -chain | openssl x509 -out <cacerts.cer>

, чтобы цепочка экспортировалась в простом формате без заголовков для каждого элемента в цепочке. На этом сервере Windows NT я экспортировал только первый элемент цепочки, а не два ожидаемых элемента. Вместо этого я просто использовал

openssl pkcs12 -in <filename.pfx> -cacerts -chain -nokeys -nodes -out <cacerts.cer>

и отредактируйте файлы с помощью Блокнота, чтобы удалить ненужный текст. Неэлегантно? Да, но это дало нужный результат.

0
20.01.2021, 05:04

Однострочный сawk:

openssl pkcs12 -in key.pfx -nodes -out - | awk '/-----BEGIN/{a=1}/-----END/{print;a=0}a'

Это отбрасывает все выходные данные не между начальной и конечной строками PEM. Кредит для AWK принадлежитhttps://stackoverflow.com/q/17988756#comment29487454_17988834

0
26.08.2021, 17:17

Теги

Похожие вопросы