簡體   English   中英

創建x509證書並加密大量數據

[英]Create x509 certificate and encrypt lots of data

我想創建一個加密的XML文件。 整體加密。

我有一個大類,我將其序列化為字符串。 然后,我將其轉換為字節(在一個測試用例中,它需要1128個字節),並且我想對那些字節進行加密。

我需要擁有一個沒有管理員用戶訪問權限的證書,因此我創建了這樣的證書:

New-SelfSignedCertificate -CertStoreLocation Cert:\LocalMachine\My -FriendlyName "XD" -NotAfter
(Get-Date).AddYears(10) -KeyAlgorithm RSA -KeyLength 2048 -Subject "test"

然后在我的C#應用​​程序中,我通過.Subject轉到了該證書,並且我想使用它來加密我的字節。 問題是,我收到了bad length錯誤消息,這表明我想用RSA加密太多字節。

現在,我知道我可以使用AES或其他方式,但是我需要在商店的證書中擁有此密鑰,因此,除了創建該證書的管理員用戶以外,沒有其他人可以訪問它。 而且,正如我已閱讀有關New-SelfSignedCertificate的文檔一樣,它無法使用fe AES密鑰創建證書。

所以我的問題是:是否有一種方法可以使用特定的密鑰算法創建證書,該算法至少可以加密2-3k字節?

RSA只能加密小於密鑰對模數的消息。 一些字節應該保留用於填充,確切的數目取決於您使用的填充方案。

實際上,RSA之類的非對稱算法通常用於密鑰傳輸,而不是直接用於消息加密。 如果有很長的消息,請使用隨機密鑰使用AES對其進行加密。 然后,使用郵件接收者的公鑰用RSA加密AES密鑰。

TLS,PGP和S / MIME等標准以這種方式使用RSA。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM