簡體   English   中英

如何存儲.NET加密密鑰

[英]How to store encryption key .NET

我的.NET應用程序包含一些RSA加密。 我的問題是: where to store the keys

經過一番谷歌搜索,我看不到任何真正的建議。 我所看到的

  1. 將它們拆分並存儲到其他文件夾中。
  2. 使用ProtectedData。 但是,如果我使用受保護的數據,我仍然必須存儲密鑰的加密結果。 還是同樣的問題,在哪里存儲呢?

有更好的選擇嗎?

標准方法將密鑰存儲在密鑰容器中,net具有執行此操作的API。 請參閱如何:在密鑰容器中存儲非對稱密鑰。您可以將密鑰容器存儲為私有,在這種情況下,只有您有權訪問密鑰。 如果要在計算機中的不同用戶或程序之間共享密鑰,則應使用計算機級別的密鑰容器。 要存儲在計算機級別,您只需要在容器的參數中添加標記UseMachineKeyStore

CspParameters cp = new CspParameters();
cp.KeyContainerName = ContainerName;
cp.Flags = UseMachineKeyStore 

請記住,每次使用機器密鑰存儲區時,都需要設置標志。 此配置具有一些安全性,取決於信息的敏感程度。 您可以使用訪問規則來限制對create容器的訪問。

希望這些信息對您有用。

暫無
暫無

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

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