Azure ASP.NET MVC 3アプリケーションでOpenID認証を機能させようとしていますが、MVC3カスタムログインサンプルの手順に従って実行しています。開発環境ではすべて正常に機能しますが、Azureプラットフォームにデプロイした場合は機能しません。
最初の問題は認証で始まり、 「キーは指定された状態で使用するには無効です」というエラーが発生しました。ここでの説明では、デフォルトのDPAPIではなくRsaEncryptionCookieTransformを使用するようにアプリケーションを構成する必要があると述べています。これを解決するために、Alik LevinのブログOnServiceConfigurationCreated
に記載されているコードを追加しましたが、Azureではなく、開発中の自己署名証明書の設定(前述のとおり必要ではありません)について説明しているため、これ以上先に進みませんでした。
そのアプローチの代わりに、AzureにすでにあるX.509証明書を使用しようとしました。拇印は、WindowsAzure管理>アクセス制御サービス>証明書利用者アプリケーション>(マイアプリケーション名)>トークン署名証明書>サービス名前空間(X.509証明書)に使用されています。次に、この参照をweb.configに追加しました。
<serviceCertificate>
<certificateReference x509FindType="FindByThumbprint" findValue="8A417..." />
</serviceCertificate>
アプリケーションの起動時に構成エラーが発生します。
ID1024:構成プロパティ値が無効です。 プロパティ名:'certificateReference' エラー:'ID1025:条件に一致する一意の証明書が見つかりません。 StoreName:'My' StoreLocation:'LocalMachine' X509FindType:'FindByThumbprint' FindValue: '8A417 ...''
「指定された状態で使用するにはキーが無効です」というエラーを解決するために、実際に暗号化方法を変更する必要がありますか?その場合、Azureに既に存在するX.509証明書を使用してCookieを暗号化するにはどうすればよいですか?