修改msdn上的示例,使之可以通過rsa證書檔案加密和解密,中間遇到乙個小問題。
q:執行exportparameters()方法時,回報cryptographicexception:該項不適於在指定狀態下使用(key not valid for use in specified state)。
a:匯入帶有私鑰的證書時,需要使用"x509keystorageflags"引數標記"私鑰可匯出"。
x509certificate2 prvcrt = new x509certificate2(@"
x:\path\to\ca.pfx
", "***
password***
", x509keystorageflags.exportable);
以下為示例程式:
usingsystem;
using
system.collections.generic;
using
system.linq;
using
system.text;
namespace
", convert.tobase64string(encrypteddata));
//pass the data to decrypt, the private key information
//(using rsacryptoserviceprovider.exportparameters(true),
//and a boolean flag specifying no oaep padding.
decrypteddata = rsadecrypt(encrypteddata, prvkey.exportparameters(true), false
);
//display the decrypted plaintext to the console.
console.writeline("
decrypted plaintext:
", byteconverter.getstring(decrypteddata));
//}prvkey.clear();
pubkey.clear();
console.read();
}catch
(argumentnullexception)
}static
public
byte rsaencrypt(byte datatoencrypt, rsaparameters rsakeyinfo, bool
dooaeppadding)
return
encrypteddata;
}//catch and display a cryptographicexception
//to the console.
catch
(cryptographicexception e)
}static
public
byte rsadecrypt(byte datatodecrypt, rsaparameters rsakeyinfo, bool
dooaeppadding)
return
decrypteddata;
}//catch and display a cryptographicexception
//to the console.
catch
(cryptographicexception e)}}
}
C 使用RSA證書檔案加密和解密示例
原文 c 使用rsa證書檔案加密和解密示例 修改msdn上的示例,使之可以通過rsa證書檔案加密和解密,中間遇到乙個小問題。q 執行exportparameters 方法時,回報cryptographicexception 該項不適於在指定狀態下使用 key not valid for use in...
RSA加密和解密使用經歷說明
rsa加密和解密使用經歷說明 rsa金鑰資訊生成工具類 public class rsaencrypt2048 catch nosuchalgorithmexception e 初始化金鑰對生成器,金鑰大小為96 1024位 keypairgen.initialize init key size,n...
使用 GPG 加密和解密檔案
目標 使用 gpg 加密檔案 發行版 適用於任何發行版 要求 安裝了 gpg 的 linux 或者擁有 root 許可權來安裝它。難度 簡單 約定 介紹 加密非常重要。它對於保護敏感資訊來說是必不可少的。你的私人檔案應該要被加密,而 gpg 提供了很好的解決方案。安裝 gpg gpg 的使用非常廣泛...