C 使用RSA證書檔案加密和解密示例

2021-09-06 06:20:54 字數 1820 閱讀 7645

修改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);

以下為示例程式:

using

system;

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 的使用非常廣泛...