CertificateRequest.Create 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使用已建立的主旨、金鑰及可選擴展名,並由指定的發行者憑證簽署。
多載
| 名稱 | Description |
|---|---|
| Create(X500DistinguishedName, X509SignatureGenerator, DateTimeOffset, DateTimeOffset, ReadOnlySpan<Byte>) |
簽署目前的憑證請求以建立鏈式或自簽式憑證。 |
| Create(X500DistinguishedName, X509SignatureGenerator, DateTimeOffset, DateTimeOffset, Byte[]) |
簽署目前憑證請求以建立鏈簽名或自簽憑證。 |
| Create(X509Certificate2, DateTimeOffset, DateTimeOffset, ReadOnlySpan<Byte>) |
使用已建立的主體、金鑰及可選擴展,並以所提供的憑證作為發行者建立憑證。 |
| Create(X509Certificate2, DateTimeOffset, DateTimeOffset, Byte[]) |
使用已建立的主體、金鑰及可選擴充功能,並以指定的憑證作為發行者建立憑證。 |
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。
簽署操作過程中發生錯誤。
簽章產生器需要一個非預設值, HashAlgorithm但這個物件是在未提供預設值的情況下建立的。
適用於
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
該證明不再被視為有效的日期與時間。
傳回
一個 X509Certificate2 具有指定值的物件。 返回的物件不會斷 HasPrivateKey言 。
例外狀況
簽章操作過程中會發生錯誤。
簽章產生器需要一個非預設值, HashAlgorithm但這個物件是在未提供預設值的情況下建立的。
適用於
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。
HasPrivateKey的issuerCertificate值為 false。
無法確定所 issuerCertificate 代表的簽章金鑰類型。
notAfter 代表在 之前 notBefore的日期和時間。
serialNumber 長度為 0。
issuerCertificate 擁有與請求憑證不同的金鑰演算法。
issuerCertificate 是 RSA 憑證,而這個物件是透過一個不接受 RSASignaturePadding 值的建構子建立的。
適用於
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
該證明不再被視為有效的日期與時間。
傳回
一個 X509Certificate2 具有指定值的物件。 返回的物件不會斷 HasPrivateKey言 。
例外狀況
issuerCertificate 是 null。
它 issuerCertificate 沒有私鑰。
-或-
無法確定所 issuerCertificate 代表的簽章金鑰類型。
-或-
notAfter 代表發生在 notBefore之前的日期和時間。
-或-
serialNumber 是零長度或 null。
-或-
issuerCertificate 擁有與請求憑證不同的金鑰演算法。
-或-
HasPrivateKey的issuerCertificate值為 false。
issuerCertificate 是 RSA 憑證,而目前的物件是使用不接受 padding 參數的建構函式建立的。
HashAlgorithm房產價值沒有被支持。
備註
此方法不支援使用 MD5 或 SHA-1 作為憑證簽章的雜湊演算法。 如果你需要基於 MD5 或 SHA-1 的憑證簽章,你需要實作自訂 X509SignatureGenerator 並呼叫 Create(X500DistinguishedName, X509SignatureGenerator, DateTimeOffset, DateTimeOffset, Byte[])。