powershell - Azure KeyVault から証明書を .crt および .key ファイルとして取得する方法

okwaves2024-01-25  11

証明書を 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

総合生活情報サイト - OKWAVES
総合生活情報サイト - OKWAVES
生活総合情報サイトokwaves(オールアバウト)。その道のプロ(専門家)が、日常生活をより豊かに快適にするノウハウから業界の最新動向、読み物コラムまで、多彩なコンテンツを発信。