クライアント証明書を使用して Web サービスにメッセージを送信する Azure 関数 (.NET 4.7.2) を 1 年間実行しています。この証明書は更新する必要がありますが、メッセージの送信時にこの例外が発生していることを確認しました。
System.Security.Cryptography.CryptographicException: Invalid provider type specified.
Azure で秘密キーの読み取りに問題があり、問題はローカル マシンからのエクスポートにあるようです。この問題は元の CSR に起因する可能性がありますか? 以前の証明書は、有効である限り問題なく機能します。ローカル マシンから新しい証明書を使用してメッセージを送信できることに注意してください。私が試したこと。
- MMC 設定のすべての組み合わせを使用して .pfx ファイルをエクスポートする
- https://stackoverflow.com/a/34103154/6033193の回答を使用して、証明書キーを RSA 形式に変換し、新しい結果の .pfx をアップロードします
CertUtil.exe -store -user my
新しい証明書と古い証明書を比較するために使用します。どちらも ProviderMicrosoft Enhanced Cryptographic Provider v1.0
を持ち、ハッシュと名前を除けば同じように見えます。- セットアップから Azure Key Vault を削除し、pfx をアプリ サービスに直接アップロードする
- ローカル フォルダーから .pfx を読み取り、次のように使用します
new X509Certificate2(certByes, "password", X509KeyStorageFlags.PersistKeySet);
。これは機能するため、.pfx ファイルを Azure portal にアップロードするときに問題が発生しているようです。
他に試すことができることはありますか?