SignedCms.CheckSignature 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
驗證已簽署之 CMS/PKCS #7 訊息上的數位簽章。
多載
CheckSignature(Boolean) |
CheckSignature(Boolean) 方法會驗證已簽署之 CMS/PKCS #7 訊息上的數位簽章,而且可以選擇性地驗證簽署人的憑證。 |
CheckSignature(X509Certificate2Collection, Boolean) |
CheckSignature(X509Certificate2Collection, Boolean) 方法會藉由使用指定的憑證集合,驗證已簽署之 CMS/PKCS #7 訊息上的數位簽章,而且可以選擇性地驗證簽署人的憑證。 |
CheckSignature(Boolean)
- 來源:
- SignedCms.cs
- 來源:
- SignedCms.cs
- 來源:
- SignedCms.cs
- 來源:
- SignedCms.cs
- 來源:
- SignedCms.cs
CheckSignature(Boolean) 方法會驗證已簽署之 CMS/PKCS #7 訊息上的數位簽章,而且可以選擇性地驗證簽署人的憑證。
public:
void CheckSignature(bool verifySignatureOnly);
public void CheckSignature (bool verifySignatureOnly);
member this.CheckSignature : bool -> unit
Public Sub CheckSignature (verifySignatureOnly As Boolean)
參數
- verifySignatureOnly
- Boolean
Boolean 值,指定是否只驗證數位簽章,而不驗證簽署人的憑證。
如果 verifySignatureOnly
為 true
,則只驗證數位簽章。 如果為 false
,則會驗證數位簽章、簽署人的憑證及憑證的目的。 如果憑證沒有金鑰使用方式,或金鑰使用方式支援數位簽章或不可否認性,憑證的目的可視為有效。
例外狀況
Null 參考已傳遞至不接受它做為有效引數的方法。
密碼編譯作業無法完成。
物件目前狀態的方法呼叫無效。
範例
下列範例顯示驗證訊息簽章所需的步驟中SignedCms的位置CheckSignature(Boolean)。 在此範例中,訊息內容不會中斷連結。 訊息內容包含在訊息中 SignedCms 。
// Create a new, nondetached SignedCms message.
SignedCms signedCms = new SignedCms();
// encodedMessage is the encoded message received from
// the sender.
signedCms.Decode(encodedMessage);
// Verify the signature without validating the
// certificate.
signedCms.CheckSignature(true);
' Create a new, nondetached SignedCms message.
Dim signedCms As New SignedCms()
' encodedMessage is the encoded message received from
' the sender.
signedCms.Decode(encodedMessage)
' Verify the signature without validating the
' certificate.
signedCms.CheckSignature(True)
下列範例顯示驗證訊息簽章所需的步驟中SignedCms的位置CheckSignature(Boolean)。 在此範例中,訊息內容會中斷連結,因此訊息內容必須獨立於訊息外驗證 SignedCms 。
// Create a ContentInfo object from the inner content obtained
// independently from encodedMessage.
ContentInfo contentInfo = new ContentInfo(innerContent);
// Create a new, detached SignedCms message.
SignedCms signedCms = new SignedCms(contentInfo, true);
// encodedMessage is the encoded message received from
// the sender.
signedCms.Decode(encodedMessage);
// Verify the signature without validating the
// certificate.
signedCms.CheckSignature(true);
' Create a ContentInfo object from the inner content obtained
' independently from encodedMessage.
Dim contentInfo As New ContentInfo(innerContent)
' Create a new, detached SignedCms message.
Dim signedCms As New SignedCms(contentInfo, True)
' encodedMessage is the encoded message received from
' the sender.
signedCms.Decode(encodedMessage)
' Verify the signature without validating the
' certificate.
signedCms.CheckSignature(True)
備註
此方法會驗證 CMS/PKCS #7 訊息上的所有簽章,包括計數器。 如果訊息包含已簽署的屬性,這些屬性也會經過驗證。 如果選擇選項來驗證憑證,則會驗證憑證鏈結的整個包含部分。
如果數位簽名的驗證失敗或不符合任何驗證需求,這個方法會擲回例外狀況。
適用於
CheckSignature(X509Certificate2Collection, Boolean)
- 來源:
- SignedCms.cs
- 來源:
- SignedCms.cs
- 來源:
- SignedCms.cs
- 來源:
- SignedCms.cs
- 來源:
- SignedCms.cs
CheckSignature(X509Certificate2Collection, Boolean) 方法會藉由使用指定的憑證集合,驗證已簽署之 CMS/PKCS #7 訊息上的數位簽章,而且可以選擇性地驗證簽署人的憑證。
public:
void CheckSignature(System::Security::Cryptography::X509Certificates::X509Certificate2Collection ^ extraStore, bool verifySignatureOnly);
public void CheckSignature (System.Security.Cryptography.X509Certificates.X509Certificate2Collection extraStore, bool verifySignatureOnly);
member this.CheckSignature : System.Security.Cryptography.X509Certificates.X509Certificate2Collection * bool -> unit
Public Sub CheckSignature (extraStore As X509Certificate2Collection, verifySignatureOnly As Boolean)
參數
- extraStore
- X509Certificate2Collection
X509Certificate2Collection 物件,可用來驗證憑證鏈結。 如果沒有使用其他憑證來驗證憑證鏈結,請使用 CheckSignature(Boolean) 取代 CheckSignature(X509Certificate2Collection, Boolean)。
- verifySignatureOnly
- Boolean
Boolean 值,指定是否只驗證數位簽章,而不驗證簽署人的憑證。
如果 verifySignatureOnly
為 true
,則只驗證數位簽章。 如果為 false
,則會驗證數位簽章、簽署人的憑證及憑證的目的。 如果憑證沒有金鑰使用方式,或金鑰使用方式支援數位簽章或不可否認性,憑證的目的可視為有效。
例外狀況
Null 參考已傳遞至不接受它做為有效引數的方法。
密碼編譯作業無法完成。
物件目前狀態的方法呼叫無效。
備註
此方法會驗證 CMS/PKCS #7 訊息上的所有簽章,包括計數器。 如果訊息包含已簽署的屬性,這些屬性也會經過驗證。 如果選擇選項來驗證憑證,則會驗證憑證鏈結的整個包含部分。
如果數位簽名的驗證失敗或不符合任何驗證需求,這個方法會擲回例外狀況。