CryptoAPIはコンテナ名が分かれば鍵を取り出せてしまうが、どのようにコンテナ名を選定・保管すべき?
System.Security.Cryptography.RSACryptoServiceProvider
クラスを使って、鍵をコンテナに格納しようとしています。コンテナ名を指定することになりますが、このコンテナ名には何を指定して、どのように管理していますでしょうか。
コンテナ名が分かれば格納されている鍵も取得できてしまうのであれば、コンテナ名こそがキーやパスワードに相当してしまう重要な値であるように思えてしまうのです。
//CspParametersオブジェクトの作成
CspParameters cp = new CspParameters();
//キーコンテナ名を指定する
//これさえわかれば鍵を取得できてしまう?
cp.KeyContainerName = "キーコンテナ名";
//RSACryptoServiceProviderオブジェクトを作成
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(cp);
//鍵を取得
return rsa.ToXmlString(true);