使用以下代码创建公钥/私钥时:
// Create the CspParameters object and set the key container
// name used to store the RSA key pair.
CspParameters cp = new CspParameters();
cp.KeyContainerName = ContainerName;
// Create a new instance of RSACryptoServiceProvider that accesses
// the key container MyKeyContainerName.
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(cp);
如果我再打电话
rsa.Encrypt (....
OR
rsa.Decrypt(..
我如何知道正在使用哪个密钥。在每种情况下是使用公钥还是私钥取决于应用程序。如何确定使用哪个?
答案 0 :(得分:1)
加密使用公钥完成,解密使用私钥完成..因此只有私钥的持有者才能解密。
您不打算使用公钥解密,因此界面无法为您提供实现此目的的方法。
签名利用私钥加密,使用公钥解密+某种单向散列逻辑,但在这种情况下,接口只允许使用特定的签名方法(SignData(..)
& VerifyData(..)
)。