gpt4 book ai didi

C# GetExpirationDateString() 以短日期格式返回数据创建问题

转载 作者:太空狗 更新时间:2023-10-29 22:25:38 25 4
gpt4 key购买 nike

我必须使用以下代码检查并确保证书未过期:

if (DateTime.Parse(cert.GetExpirationDateString()) <= DateTime.Now)
{
_logger.Log(LogLevel.Error, "Chain Certificate is Expired");
return false;
}

certX509Certificate 的实例.net 类。

我面临的问题是 GetExpirationDateString函数以字符串格式给出到期日期(这取决于当前文化的短日期格式)

如果我的机器的短日期格式是 DD-MM-YY 它返回到期日期 21-12-2030 作为 21-12-30DateTime.Parse 函数将 30 转换为 1930(如果到期年份 >30)。

有没有办法让我始终以 dd/mm/yyyy 格式获取证书到期以避免此问题?

最佳答案

在解析 DateTime 时无论您如何尝试,字符串表示年份 30 始终默认转换为 1930 而永远不会转换为 2030它。你最好的选择是按照@Glorin 的建议去做并使用 X509Certificate2 .此类型有一个构造函数,该构造函数采用 X509Certificate 的实例。 .或者,您可以使用其他构造函数之一生成。以下是基于您提供的内容的代码示例:

var cert2 = new X509Certificate2(cert);
if(cert2.NotAfter <= DateTime.Now)
{
_logger.Log(LogLevel.Error, "Chain Certificate is Expired");
return false;
}

关于C# GetExpirationDateString() 以短日期格式返回数据创建问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38591852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com