Не удалось извлечь сертификат и ключ из файла p12 из хранилища ключей azure

#azure #openssl #ssl-certificate #azure-keyvault

Вопрос:

краткое описание того, что я сделал и чего я хотел бы достичь:

  • Я пытался добавить сертификат в хранилище ключей azure с помощью пользовательского интерфейса:
  • Получил эти сертификаты как ca.crt ( openssl req -new -x509 -days 1826 -key ca.key -out ca.crt ) и ca.key ( openssl genrsa -des3 -out ca.key 2048 ), но для хранилища ключей azure требуются сертификаты в формате .pem или .pfx
  • Я решил переместить сертификат и ключ в формат pem: ключ: openssl rsa -in ca.key -text > ca_key.pem сертификат: openssl x509 -in ca.crt -out ca.pem затем скопировал ca_key.pem внутри ca.pem
  • Я пытался использовать только ключ cert и дополнительные данные ключа (двоичные файлы или sth).
  • Я получал ошибку из пользовательского интерфейса: The specified PEM X.509 certificate content is in an unexpected format. Please check if certificate is in valid PEM format.
  • Я решил установить azure CLI и передать их в формате pfx: openssl pkcs12 -export -out ca.pfx -inkey ca.key -in ca.crt и это работает правильно, я могу видеть созданный сертификат в сертификатах хранилища ключей

и тут начинается проблема. Я хотел бы получить сертификат с библиотекой узлов azure, извлечь отдельный ключ и сертификат для их использования. Чего я достиг до сих пор:

 const secretClient = new SecretClient(keyVaultUrl, credential);
 
const certificateSecret = await secretClient.getSecret(certificateName);
 
const PKCS12Certificate = certificateSecret.value!;
 
fs.writeFileSync("myCertificate.p12", PKCS12Certificate);
 

У меня есть файл и, как говорится в документации:
https://www.npmjs.com/package/@azure/keyvault-certificates#getting-the-full-information-of-a-certificate

Я пытался выполнить: openssl pkcs12 -in myCertificate.p12 -out myCertificate.crt.pem -clcerts -nokeys извлечь сертификат ca из p12, но я все еще получаю ошибку:

 34359836736:error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag:crypto/asn1/tasn_dec.c:1149:
34359836736:error:0D07803A:asn1 encoding routines:asn1_item_embed_d2i:nested asn1 error:crypto/asn1/tasn_dec.c:309:Type=PKCS12
 

есть идеи, что я делаю не так ?