X509Certificate2 簽名驗證和解密與過期或更新的證書

維爾納

關於在過期和續訂的證書上使用 System.Security.Cryptography.X509Certificates.X509Certificate2 的問題。想像 2 個用戶“A”和“B”,其中“A”有他自己的證書和用戶“B”的公鑰證書(反之亦然)。

用戶“A”使用“B”的公鑰加密一個非常小的字節數組,然後使用“A”的私鑰對加密的字節數組進行簽名。結果現在存儲在一個文件中並發送到“B”。5年後,“B”需要獲取文件中的數據。然而,“B”的證書已經更新,“A”的(公鑰)證書已經過期。

“B”能否驗證簽名?他能解密數據嗎?如果沒有,是否有解決方案?

地穴32

“B”能否驗證簽名?

這取決於。有一個稱為“簽名時間戳”的功能可以解決過期的證書問題。這意味著如果簽名帶有時間戳,即使鏈中的所有證書都過期後也可以對其進行驗證。我有一篇關於這個主題的博客文章:數字簽名和時間戳

“B”能夠解密數據而不管簽名是否有效,因為它是一個單獨的過程。解密沒有時間限制。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从X509Certificate2删除私钥

簽名時更改 x509 證書屬性(即組織)

设置X509Certificate2私钥时出错

检索X509Certificate2对象的颁发者

X509Certificate2提示我输入密码

用X509Certificate2找不到指定的对象

从商店加载X509Certificate2证书链

我应该处置X509Certificate2吗?

BouncyCastle PrivateKey To X509Certificate2 PrivateKey (ECC)

RSA 簽名與 Python 驗證與 C#

如何在保留私钥的同时将BouncyCastle X509Certificate转换为.NET Standard X509Certificate2?

从ECC创建X509Certificate2 X509Certificate在C#中引发'System.NotSupportedException'

在OS X上使用X509Certificate2时避免钥匙串

我在 x509(作為 JWS 中的 x5c 標頭)中驗證哪些字段以證明證書的合法性?

Azure Apim:外部 Beckend API Oauth2 身份驗證與不記名令牌集成

X509Certificate2 在 .NET Core 应用程序中的 widows 和 linux 不同

使用.NET Standard 2.0生成自签名X509Certificate2

X509Certificate2错误-系统找不到指定的文件

无法从.net x509certificate2对象获取私钥到bouncycastle AsymmetricCipherKeyPair

.NET Core X509Certificate2的用法(在Windows / IIS,Docker,Linux下)

.NET Framework x509Certificate2类,HasPrivateKey == true && PrivateKey == null?

生成带有私钥的自签名X509Certificate2证书

.NET Core ChannelFactory-将X509Certificate2设置为客户端证书

将X509Certificate2证书与.NET中的私钥相关联

X509Certificate2构造函数抛出磁盘上没有足够的空间

从Cert和Key创建X509Certificate2,而无需创建PFX文件

X509Certificate2支持哪些文件类型?

为什么自签名的PFX X509Certificate2私钥会引发NotSupportedException?

X509Certificate2将私钥访问到安全令牌中