お世話になります。
C#でRSACryptoServiceProvider クラスを使用して暗号化を行っているのですが、これをC++で行うことになりました。
C++では、CryptAcquireContext-APIを使用してCSPのハンドルを使用するところから恥じるみたいなのですが、その引数の値をどのようにするのがよいのかがわかりません。まずプロバイダですが、次のどれを設定するべきなのかまたはNULLでよいのかを悩んでいます。
C#で暗号化したデータを、C++のモジュール側で復号化するので同じプロバイダを選択したいと思っているのですが、RSACryptoServiceProviderクラスから使用しているプロバイダ名って取得できますか?
教えてください。
MS_DEF_PROV |
"Microsoft Base Cryptgraphic Provider v1.0" |
MS_ENHANCED_PROV |
"Microsoft Enhanced Cryptgraphic Provider" |
MS_STRONG_PROV |
"Microsoft Strong Cryptgraphic Provider" |
MS_DEF_RSA_SIG_PROV |
"Microsoft RSA Signature Cryptgraphic Provider" |
MS_DEF_RSA_SCHANNEL_PROV |
"Microsoft RSA SChannel Cryptgraphic Provider" |
MS_DEF_DSS_PROV |
"Microsoft Base DSS Cryptgraphic Provider" |
MS_DEF_DSS_DH_PROV |
"Microsoft Base DSS and Diffie-Hellmen Cryptgraphic Provider" |
MS_ENH_DSS_DH_PROV |
"Microsoft Enhanced DSS and Diffie-Hellmen Cryptgraphic Provider" |
MS_DEF_DH_SCHANNEL_PROV |
"Microsoft DH SChannel Cryptgraphic Provider" |
MS_SCARD_PROV |
"Microsoft Base Smart Card Cryptgraphic Provider" |
C#のロジック
CspParameters cp = new CspParameters();
cp.KeyContainerName = m_sContainerName;
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(cp);