#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
есть идеи, что я делаю не так ?