有一项服务可将用户数据存储在远程文件共享上。用户数据需要加密,以便远程文件存储使得任何直接访问它的人都无法访问它。执行存储和检索的前端计算机确实需要私钥来加密和解密。
使用存储在每台前端机器上的证书库中的自签名X509Certificate来保存私钥是否有意义?
我认为这是有道理的,但是,查看AesCryptoServiceProvider的API,我没有看到将X509Certificate2私钥作为私钥加载到AES中的简单方法。
答案 0 :(得分:1)
我认为这是有道理的,但是,查看AesCryptoServiceProvider的API,我没有看到将X509Certificate2私钥作为私钥加载到AES中的简单方法。
X509Certificate2代表不对称加密。 AES代表对称密码术。
加密大数据时,不对称加密不是一个好的选择(性能原因)。然而,使用不对称加密(即证书)有利于验证用户并授权对该用户进行加密和解密等操作。设计用户数据的加密和解密可以通过多种方式完成。
答案 1 :(得分:0)
使用存储在每台前端机器上的证书库中的自签名X509Certificate来保存私钥是否有意义?
不是真的。不要使用X509证书;而是使用PKCS#12。
X509证书将实体(用户,组织等)绑定到公钥。这是工作的错误工具。 PKCS#12是个人信息交换语法标准。它定义了一种文件格式,用于存储具有公钥证书的私钥,并使用密码保护。
因此用户获取PKCS#12文件来解密他/她的数据。前端服务器从PFX文件获取X509证书以加密用户的数据。
我没有看到将
X509Certificate2
私钥加载到AES作为私钥的简单方法
这是一个不同的问题。但由于AES密钥的范围超出范围,因此不会存储在X509证书中。你以后会做其他的旋转。