SignedCms.ComputeSignature Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir imza oluşturur ve imzayı CMS/PKCS #7 iletisine ekler.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| ComputeSignature(CmsSigner, Boolean) |
Belirtilen imzalayanı kullanarak bir imza oluşturur ve imzayı CMS/PKCS #7 iletisine ekler. |
| ComputeSignature() |
Bir imza oluşturur ve imzayı CMS/PKCS #7 iletisine ekler. |
| ComputeSignature(CmsSigner) |
Belirtilen imzalayanı kullanarak bir imza oluşturur ve imzayı CMS/PKCS #7 iletisine ekler. |
ComputeSignature(CmsSigner, Boolean)
- Kaynak:
- SignedCms.cs
- Kaynak:
- SignedCms.cs
- Kaynak:
- SignedCms.cs
- Kaynak:
- SignedCms.cs
- Kaynak:
- SignedCms.cs
- Kaynak:
- SignedCms.cs
- Kaynak:
- SignedCms.cs
- Kaynak:
- SignedCms.cs
Belirtilen imzalayanı kullanarak bir imza oluşturur ve imzayı CMS/PKCS #7 iletisine ekler.
public:
void ComputeSignature(System::Security::Cryptography::Pkcs::CmsSigner ^ signer, bool silent);
public void ComputeSignature(System.Security.Cryptography.Pkcs.CmsSigner signer, bool silent);
member this.ComputeSignature : System.Security.Cryptography.Pkcs.CmsSigner * bool -> unit
Public Sub ComputeSignature (signer As CmsSigner, silent As Boolean)
Parametreler
- silent
- Boolean
Yalnızca .NET Core ve .NET 5+ : true PIN istemleri devre dışı bırakılmış açma anahtarlarını istemek için, destekleniyorsa; aksi takdirde. false .NET Framework'te bu parametre kullanılmaz ve gerekirse her zaman bir PIN istemi gösterilir.
Özel durumlar
signer, null'e eşittir.
Şifreleme işlemi tamamlanamadı.
Yalnızca .NET Framework: İmzalama sertifikası belirtilmedi.
Yalnızca .NET Core ve .NET 5+ : İmzalama sertifikası belirtilmedi.
Açıklamalar
Yalnızca .NET Core: silent Değer null değilse parametresinin CmsSigner.PrivateKey hiçbir etkisi olmaz. Sağlanan değer, imzanın hesaplanıp hesaplanmayacağının PIN istemi gösterilip gösterilmediğini denetler. Özellik null olduğunda PrivateKey ve silent parametresi olarak ayarlandığında truebile, bazı işletim sistemi ve imzalayıcı seçeneklerinin bileşimleri yine de bir PIN istemine neden olabilir.
.NET Framework'te kullanıcı arabirimini görüntülemek için aşağıdaki izinler gereklidir:
.NET Framework'te imza anahtarına erişmek için aşağıdaki izinler gereklidir:
Şunlara uygulanır
ComputeSignature()
- Kaynak:
- SignedCms.cs
- Kaynak:
- SignedCms.cs
- Kaynak:
- SignedCms.cs
- Kaynak:
- SignedCms.cs
- Kaynak:
- SignedCms.cs
- Kaynak:
- SignedCms.cs
- Kaynak:
- SignedCms.cs
- Kaynak:
- SignedCms.cs
Bir imza oluşturur ve imzayı CMS/PKCS #7 iletisine ekler.
public:
void ComputeSignature();
public void ComputeSignature();
member this.ComputeSignature : unit -> unit
Public Sub ComputeSignature ()
Özel durumlar
Alıcı sertifikası belirtilmedi.
Açıklamalar
Oluşturucu aşırı yüklemelerinden birinin SignedCms bağımsız değişkeni olarak signerIdentifierType sağlandıysa SubjectIdentifierType.NoSignature bu yöntem başarılı olur. Aksi takdirde, bir özel durum oluşturur.
.NET Framework'te imza anahtarına erişmek için aşağıdaki izinler gereklidir:
Şunlara uygulanır
ComputeSignature(CmsSigner)
- Kaynak:
- SignedCms.cs
- Kaynak:
- SignedCms.cs
- Kaynak:
- SignedCms.cs
- Kaynak:
- SignedCms.cs
- Kaynak:
- SignedCms.cs
- Kaynak:
- SignedCms.cs
- Kaynak:
- SignedCms.cs
- Kaynak:
- SignedCms.cs
Belirtilen imzalayanı kullanarak bir imza oluşturur ve imzayı CMS/PKCS #7 iletisine ekler.
public:
void ComputeSignature(System::Security::Cryptography::Pkcs::CmsSigner ^ signer);
public void ComputeSignature(System.Security.Cryptography.Pkcs.CmsSigner signer);
member this.ComputeSignature : System.Security.Cryptography.Pkcs.CmsSigner -> unit
Public Sub ComputeSignature (signer As CmsSigner)
Parametreler
Özel durumlar
Geçerli bir bağımsız değişken olarak kabul etmeyen bir yönteme null başvuru geçirildi.
Şifreleme işlemi tamamlanamadı.
Örnekler
Aşağıdaki örnekte, ayrılmamış ileti içeriğine sahip bir SignedCms iletideki imzayı hesaplama adımları gösterilmektedir. Bu durumda, ileti içeriği iletiye SignedCms eklenir.
// The dataToSign byte array holds the data to be signed.
ContentInfo contentInfo = new ContentInfo(dataToSign);
// Create a new, nondetached SignedCms message.
SignedCms signedCms = new SignedCms(contentInfo);
// Sign the message.
signedCms.ComputeSignature();
// Encode the message.
byte[] myCmsMessage = signedCms.Encode();
// The signed CMS/PKCS #7 message is ready to send.
// The original content is included in this byte array.
' The dataToSign byte array holds the data to be signed.
Dim contentInfo As New ContentInfo(dataToSign)
' Create a new, nondetached SignedCms message.
Dim signedCms As New SignedCms(contentInfo)
' Sign the message.
signedCms.ComputeSignature()
' Encode the message.
Dim myCmsMessage As Byte() = signedCms.Encode()
' The signed CMS/PKCS #7 message is ready to send.
' The original content is included in this byte array.
Aşağıdaki örnekte, ayrılmış ileti içeriğine sahip bir SignedCms iletideki imzayı hesaplama adımları gösterilmektedir. Bu durumda, ileti içeriğinin iletiden SignedCms bağımsız olarak doğrulanması gerekir.
// The dataToSign byte array holds the data to be signed.
ContentInfo contentInfo = new ContentInfo(dataToSign);
// Create a new, detached SignedCms message.
SignedCms signedCms = new SignedCms(contentInfo, true);
// Sign the message.
signedCms.ComputeSignature();
// Encode the message.
byte[] myCmsMessage = signedCms.Encode();
// The signed CMS/PKCS #7 message is ready to send.
// The original content is not included in this byte array.
' The dataToSign byte array holds the data to be signed.
Dim contentInfo As New ContentInfo(dataToSign)
' Create a new, detached SignedCms message.
Dim signedCms As New SignedCms(contentInfo, True)
' Sign the message.
signedCms.ComputeSignature()
' Encode the message.
Dim myCmsMessage As Byte() = signedCms.Encode()
' The signed CMS/PKCS #7 message is ready to send.
' The original content is not included in this byte array.
Açıklamalar
.NET Framework'te imza anahtarına erişmek için aşağıdaki izinler gereklidir: