CertificateRequest.Create 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
Create(X509Certificate2, DateTimeOffset, DateTimeOffset, Byte[]) |
通过将指定证书用作颁发者来创建证书,该证书使用建立的使用者、密钥和可选扩展。 |
Create(X509Certificate2, DateTimeOffset, DateTimeOffset, ReadOnlySpan<Byte>) |
通过将提供的证书用作颁发者来创建证书,该证书使用建立的使用者、密钥和可选扩展。 |
Create(X500DistinguishedName, X509SignatureGenerator, DateTimeOffset, DateTimeOffset, Byte[]) |
对当前证书请求签名,以创建链签名证书或自签名证书。 |
Create(X500DistinguishedName, X509SignatureGenerator, DateTimeOffset, DateTimeOffset, ReadOnlySpan<Byte>) |
对当前证书请求签名,以创建链签名证书或自签名证书。 |
Create(X509Certificate2, DateTimeOffset, DateTimeOffset, Byte[])
通过将指定证书用作颁发者来创建证书,该证书使用建立的使用者、密钥和可选扩展。
public:
System::Security::Cryptography::X509Certificates::X509Certificate2 ^ Create(System::Security::Cryptography::X509Certificates::X509Certificate2 ^ issuerCertificate, DateTimeOffset notBefore, DateTimeOffset notAfter, cli::array <System::Byte> ^ serialNumber);
public System.Security.Cryptography.X509Certificates.X509Certificate2 Create (System.Security.Cryptography.X509Certificates.X509Certificate2 issuerCertificate, DateTimeOffset notBefore, DateTimeOffset notAfter, byte[] serialNumber);
member this.Create : System.Security.Cryptography.X509Certificates.X509Certificate2 * DateTimeOffset * DateTimeOffset * byte[] -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Function Create (issuerCertificate As X509Certificate2, notBefore As DateTimeOffset, notAfter As DateTimeOffset, serialNumber As Byte()) As X509Certificate2
参数
- issuerCertificate
- X509Certificate2
一个表示证书颁发机构 (CA) 的 X509Certificate2 实例。
- notBefore
- DateTimeOffset
此证书被视为有效的最初日期和时间。 通常为 UtcNow(可能有几秒钟的误差)。
- notAfter
- DateTimeOffset
此证书不再被视为有效的日期和时间。
- serialNumber
- Byte[]
用于新证书的序列号。 此值应该是每个颁发者所特有的。 该值将以大端字节顺序被解释为任意大小的无符号整数。 RFC 3280 建议将其限制为 20 个字节或更少。
返回
一个具有指定值的 X509Certificate2 对象。 返回的对象不会证明 HasPrivateKey。
例外
issuerCertificate
为 null
。
issuerCertificate
不包含私钥。
- 或 -
无法确定由 issuerCertificate
表示的签名密钥的类型。
- 或 -
notAfter
表示早于 notBefore
的某个日期和时间。
- 或 -
serialNumber
的长度为零或 null
。
- 或 -
issuerCertificate
具有与请求的证书不同的密钥算法。
- 或 -
issuerCertificate
的 HasPrivateKey 值为 false
。
issuerCertificate
是 RSA 证书,且当前对象是通过不接受 padding
参数的构造函数创建的。
不支持 HashAlgorithm 属性值。
注解
此方法不支持将 MD5 或 SHA-1 用作证书签名的哈希算法。 如果需要基于 MD5 或 SHA-1 的证书签名,则需要实现自定义 X509SignatureGenerator 和调用 Create(X500DistinguishedName, X509SignatureGenerator, DateTimeOffset, DateTimeOffset, Byte[])。
适用于
Create(X509Certificate2, DateTimeOffset, DateTimeOffset, ReadOnlySpan<Byte>)
通过将提供的证书用作颁发者来创建证书,该证书使用建立的使用者、密钥和可选扩展。
public:
System::Security::Cryptography::X509Certificates::X509Certificate2 ^ Create(System::Security::Cryptography::X509Certificates::X509Certificate2 ^ issuerCertificate, DateTimeOffset notBefore, DateTimeOffset notAfter, ReadOnlySpan<System::Byte> serialNumber);
public System.Security.Cryptography.X509Certificates.X509Certificate2 Create (System.Security.Cryptography.X509Certificates.X509Certificate2 issuerCertificate, DateTimeOffset notBefore, DateTimeOffset notAfter, ReadOnlySpan<byte> serialNumber);
member this.Create : System.Security.Cryptography.X509Certificates.X509Certificate2 * DateTimeOffset * DateTimeOffset * ReadOnlySpan<byte> -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Function Create (issuerCertificate As X509Certificate2, notBefore As DateTimeOffset, notAfter As DateTimeOffset, serialNumber As ReadOnlySpan(Of Byte)) As X509Certificate2
参数
- issuerCertificate
- X509Certificate2
一个表示证书颁发机构 (CA) 的 X509Certificate2 实例。
- notBefore
- DateTimeOffset
此证书被视为有效的最初日期和时间。 通常为 UtcNow(可能有几秒钟的误差)。
- notAfter
- DateTimeOffset
此证书不再被视为有效的日期和时间。
- serialNumber
- ReadOnlySpan<Byte>
用于新证书的序列号。 此值应该是每个颁发者所特有的。 该值将以大端字节顺序被解释为无符号(大)整数。
返回
具有指定值的证书。 返回的对象不会证明 HasPrivateKey。
例外
issuerCertificate
为 null
。
issuerCertificate
的 HasPrivateKey 值为 false
。
无法确定由 issuerCertificate
表示的签名密钥的类型。
notAfter
表示 notBefore
以前的某个日期和时间。
serialNumber
的长度为 0。
issuerCertificate
具有与请求的证书不同的密钥算法。
issuerCertificate
是 RSA 证书,并且此对象是通过不接受 RSASignaturePadding 值的构造函数创建的。
适用于
Create(X500DistinguishedName, X509SignatureGenerator, DateTimeOffset, DateTimeOffset, Byte[])
对当前证书请求签名,以创建链签名证书或自签名证书。
public:
System::Security::Cryptography::X509Certificates::X509Certificate2 ^ Create(System::Security::Cryptography::X509Certificates::X500DistinguishedName ^ issuerName, System::Security::Cryptography::X509Certificates::X509SignatureGenerator ^ generator, DateTimeOffset notBefore, DateTimeOffset notAfter, cli::array <System::Byte> ^ serialNumber);
public System.Security.Cryptography.X509Certificates.X509Certificate2 Create (System.Security.Cryptography.X509Certificates.X500DistinguishedName issuerName, System.Security.Cryptography.X509Certificates.X509SignatureGenerator generator, DateTimeOffset notBefore, DateTimeOffset notAfter, byte[] serialNumber);
member this.Create : System.Security.Cryptography.X509Certificates.X500DistinguishedName * System.Security.Cryptography.X509Certificates.X509SignatureGenerator * DateTimeOffset * DateTimeOffset * byte[] -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Function Create (issuerName As X500DistinguishedName, generator As X509SignatureGenerator, notBefore As DateTimeOffset, notAfter As DateTimeOffset, serialNumber As Byte()) As X509Certificate2
参数
- issuerName
- X500DistinguishedName
颁发者的 X500DistinguishedName。
- generator
- X509SignatureGenerator
一个表示证书颁发机构的 X509SignatureGenerator 对象。
- notBefore
- DateTimeOffset
此证书被视为有效的最初日期和时间。 通常为 UtcNow(可能有几秒钟的误差)。
- notAfter
- DateTimeOffset
此证书不再被视为有效的日期和时间。
- serialNumber
- Byte[]
用于新证书的序列号。 此值应该是每个颁发者所特有的。 该值将以大端字节顺序被解释为任意大小的无符号整数。 RFC 3280 建议将其限制为 20 个字节或更少。
返回
一个具有指定值的 X509Certificate2 对象。 返回的对象不会证明 HasPrivateKey。
例外
签名时出现错误。
适用于
Create(X500DistinguishedName, X509SignatureGenerator, DateTimeOffset, DateTimeOffset, ReadOnlySpan<Byte>)
对当前证书请求签名,以创建链签名证书或自签名证书。
public:
System::Security::Cryptography::X509Certificates::X509Certificate2 ^ Create(System::Security::Cryptography::X509Certificates::X500DistinguishedName ^ issuerName, System::Security::Cryptography::X509Certificates::X509SignatureGenerator ^ generator, DateTimeOffset notBefore, DateTimeOffset notAfter, ReadOnlySpan<System::Byte> serialNumber);
public System.Security.Cryptography.X509Certificates.X509Certificate2 Create (System.Security.Cryptography.X509Certificates.X500DistinguishedName issuerName, System.Security.Cryptography.X509Certificates.X509SignatureGenerator generator, DateTimeOffset notBefore, DateTimeOffset notAfter, ReadOnlySpan<byte> serialNumber);
member this.Create : System.Security.Cryptography.X509Certificates.X500DistinguishedName * System.Security.Cryptography.X509Certificates.X509SignatureGenerator * DateTimeOffset * DateTimeOffset * ReadOnlySpan<byte> -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Function Create (issuerName As X500DistinguishedName, generator As X509SignatureGenerator, notBefore As DateTimeOffset, notAfter As DateTimeOffset, serialNumber As ReadOnlySpan(Of Byte)) As X509Certificate2
参数
- issuerName
- X500DistinguishedName
颁发者的可分辨名称。
- generator
- X509SignatureGenerator
颁发证书颁发机构。
- notBefore
- DateTimeOffset
此证书被视为有效的最初日期和时间。 通常为 UtcNow(可能有几秒钟的误差)。
- notAfter
- DateTimeOffset
此证书不再被视为有效的日期和时间。
- serialNumber
- ReadOnlySpan<Byte>
用于新证书的序列号。 此值应该是每个颁发者所特有的。 该值将以大端字节顺序被解释为无符号(大)整数。
返回
具有指定值的证书。 返回的对象不会证明 HasPrivateKey。
例外
issuerName
或 generator
为 null
。
签名操作时出错。