証明書を Azure KeyVault から VM に .crt ファイルとして、そのキーを .key ファイルとしてエクスポートする必要があります。
MS ドキュメントで次の記事を見つけました: リンクし、openssl を使用して正しいファイルに変換します。
残念ながら、openssl を使用できないという制限が 1 つあります。
それで私の質問ですが、PowerShell を使用してそれを行う方法はありますか?
実装に C# を使用してもよろしいでしょうか?
– ジム・シュー
2020 年 9 月 4 日 9:14
@JimXu PowerShell から起動できれば問題ありません
– マイク26
2020 年 9 月 4 日 11:27
------------------------
Key Vault 証明書が作成されると、アドレス指定可能なキーとシークレットが作成されます。
も同じ名前で作成されます。 Key Vault キーではキーが許可されます
操作と Key Vault シークレットにより、
証明書の値をシークレットとして指定します。 Key Vault 証明書には次の内容も含まれます
パブリック x509 証明書メタデータ。
出典: 証明書の構成。
PowerShell で新しい az モジュール (CLI ベース) を使用できますl 以下のように、crt (公開部分) をダウンロードするか、秘密鍵から秘密鍵をエクスポートするか、鍵から公開鍵を個別にエクスポートします (公開鍵のみが必要な場合)。
注: 証明書の作成に使用されるポリシーは、次のことを示す必要があります。
キーはエクスポート可能です。ポリシーがエクスポート不可を示している場合、
秘密キーは、シークレットとして取得される場合には値の一部ではありません。
ソース: エクスポート可能またはエクスポート不可能なキー。
# download as crt in DER format
# you can also download in PEM format by changing to -e PEM
az keyvault certificate download --vault-name <keyvault-name> -n <cert-name> -f cert.crt -e DER
# private key is stored in secret, exporting separately
az keyvault secret download --vault-name <keyvault-name> -n <cert-name> -f cert.key
# key is stored in key, exporting public part separately in PEM format
# you can also download in DER format by changing to -e DER
# you cannot retrieve private part from key
az keyvault key download --vault-name <keyvault-name> -n <cert-name> -f public-key.pem -e PEM
注: 証明書をアップロードしたときの形式が PKCS#12 の場合、2 番目のコマンド (秘密キー) は p12 形式でダウンロードされ、パスフレーズが必要になります。
1
これは本当に素晴らしい答えです。ありがとう
– マイク26
2020 年 9 月 4 日 13:42