后台:我收到了一个私钥(XXX.key)及其密码。此外,我有一个为PocketPC开发的应用程序,它使用Windows Mobile 6(.NET Compact Edition 3.5)。 场景:我需要使用以下步骤签署邮件: 1.使用SHA1算法加密消息。 2.使用提供的私钥,使用RSA算法对消化进行签名。 3.将结果转换为以64位数字编码的等效字符串表示形式。 我能够用以下几行实现第一步:
// Step 1
string message = "this message will be encrypted";
byte[] messageBytes = Encoding.UTF8.GetBytes(message);
SHA1 sha1 = SHA1.Create();
byte[] digestion = sha1.ComputeHash(messageBytes, 0, messageBytes.Length);
// Step 2 Here I need to sign with the private key.
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
// Step 3
string signedMessage = Convert.ToBase64String();
值得一提的是,这些步骤必须在无法访问互联网的Pocket应用程序中实现。 我的问题是我不知道如何将私钥放在RSA算法中。另外,我不是安全方面的专家。 请不要告诉我为什么我需要这样做;我没有这样设计。 有谁知道实施第二步? 提前谢谢。