私はwebjob(.Net 4.6)を配備しています。これはいくつかのURL文字列を暗号化し、電子メールで顧客に送信します。 .NET CoreのIDataProtectorをencrpytionに使用したので、webjob .net 4.6がそのライブラリをサポートしていなかったので、手動でDLLを参照しなければなりませんでした。 webjobで例えばSystem.Security.Cryptography.CryptographicException: 'キー{00000000-0000-0000-0000-000000000000}がキーリングに見つかりませんでした。
:電子メール内のリンク
http://test.com/Email/Agreement?n=CfDJ8AAAAAAAAAAAAAAAAAAAAAD96g09022UwEG-GyVftzkm-n2JuL1hmvL5HLyghXliIgJ_N014EBqBFfWjmdA&a=CfDJ8AAAAAAAAAAAAAAAAAAAAAALoq9IuMBZKozhzH3jRaHpyFE1wtXzQK3T_0RNuX9LsSVxPITWgU9ZR21jXLk3YGjt
なり
IDataProtector protector = provider.CreateProtector("myProtector")
http://test.com/Email/Agreement?n=" + protector.Protect(name) + "&a=" + protector.Protect(address)
。
お客様が電子メールのURLリンクをクリックすると、クライアントアプリケーション(.Net Core 1.1)コントローラが、URL文字列を解読して契約ページをポップアップ表示します。
例:私はそれらを保護解除しようとしたとき
public EmailController(IDataProtectionProvider provider)
{
_protector = provider.CreateProtector("myProtector");
}
public IActionResult Agreement(string n, string a)
{
var decryptName = _protector.Unprotect(n);
var decryptAddress = _protector.Unprotect(a);
}
しかし、私は次のエラーメッセージを取得しています:
System.Security.Cryptography.CryptographicException:「キー{00000000から0000を-0000-0000-000000000000}がキーリングに見つかりませんでした。
回答を検索したところ、Azure Blobストレージにキーを格納するようにData Protectionを構成できることがわかりました。このlinkは私に蒼空ブロブストレージにキーを永続化する方法を教えてくれます。
質問:
- Azureブロブストレージに鍵を格納以外の最善のアプローチは何ですか?
- 私が正しい道を歩いているなら、どうすればいいですか?
- 設定にStartup.csがないリンクに表示されているWebjobプロジェクトと同じ設定をするにはどうすればよいですか?
大変助かります。
素晴らしい!アモールに感謝します。 – pavilion