gpt4 book ai didi

c# - 更改 X509 证书的颁发者名称

转载 作者:行者123 更新时间:2023-12-02 16:19:45 25 4
gpt4 key购买 nike

same question 7 年前,但使用外部库解决了。现在可以在没有外部库的情况下更改 X509Certificate2 Issuer Name 吗?

public static X509Certificate2 Create(string host)
{
var ecdsa = ECDsa.Create();
var request = new CertificateRequest($"CN={host}", ecdsa, HashAlgorithmName.SHA256);
var validFrom = DateTimeOffset.UtcNow;
var validUntil = DateTimeOffset.UtcNow.AddYears(5);
var certificate = request.CreateSelfSigned(validFrom, validUntil);
var certificateBytes = certificate.Export(X509ContentType.Pfx);
// ??? set issuer ???
return new X509Certificate2(certificateBytes);
}

最佳答案

对于自签名证书,更改颁发者名称只会生成不可验证的证书(除非您与颁发者​​共享私钥,这是一个坏主意)。

对于链签名证书,您可以使用 CertificateRequest.Create 之一方法来提供颁发者证书(其主题名称将是新证书的颁发者名称),或者您可以提供颁发者名称和签名生成器(例如 X509SignatureGenerator.CreateForECDsa(key))以实现完全控制(包括制作上述不可验证的证书)。

关于c# - 更改 X509 证书的颁发者名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65777536/

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