2017-07-09 13 views
0

Webホストのキーコンテナに保存する私の秘密キーを含むテキストファイルをアップロードします。キーコンテナにRSAキーを保存するときにファイル指定の例外が見つかりません

var pk = Encoding.UTF8.GetString(fuPrivateKey.FileBytes); 
CspParameters csp = new CspParameters(); 
csp.KeyContainerName = "Name"; 
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(2048, csp); 
rsa.FromXmlString(pk); 
Message = "Key Saved"; 

と、この暗号化と復号化:

は私がキー保存するには、以下の使用私はローカルホストではありません

CspParameters csp = new CspParameters() 
{ 
     KeyContainerName = "Name", 
     Flags = CspProviderFlags.UseExistingKey 
}; 
     RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(2048, csp); 

を私はWebホストにエラーの下になったとき、私キーを保存する:

例外の詳細:System.Security.Cryptography.CryptographicException:指定されたファイルが見つかりません。

その後、私は鍵を格納しながらcsp.Flags = CspProviderFlags.UseMachineKeyStore;を使用し、私の問題は解決したが、私はキーがあるかどうかを確認したいときには、そのdoesntのがexsitを思わ下回るように存在している。(および暗号化および復号化における問題)

方法私は問題を解決する何らかの方法でフラグを使用すべきですか?

答えて

0

私はストアキーしたいとき、私は以下のフラグを使用してCspParametersを使用:

Flags = CspProviderFlags.UseMachineKeyStore; 

と以下のフラグ私は、暗号解読およびキーの既存チェックしたいとき:

Flags = CspProviderFlags.UseExistingKey|CspProviderFlags.UseMachineKeyStore; 
関連する問題