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
X509Certificate2 執行個體,代表發行憑證授權單位 (CA)。
- 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
X509Certificate2 執行個體,代表發行憑證授權單位 (CA)。
- 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
。
簽署作業期間發生錯誤。