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
ComputeSignature(CmsSigner, Boolean) |
Belirtilen imzayı 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 imzayı 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
Belirtilen imzayı 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ı istemek için, destekleniyorsa; aksi takdirde, false
. .NET Framework'da bu parametre kullanılmaz ve gerekirse her zaman bir PIN istemi gösterilir.
Özel durumlar
signer
, null
değeridir.
Ş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ı denetler ve pin istemi gösterir. Özellik null olduğunda PrivateKey ve silent
parametresi olarak true
ayarlandığında bile, bazı işletim sistemi ve imzalayıcı seçeneklerinin birleşimleri yine de bir PIN istemine neden olabilir.
Kullanıcı arabirimini .NET Framework görüntülemek için aşağıdaki izinler gereklidir:
.NET Framework'da 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
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
.NET Framework (tüm sürümler) ve .NET Core 3.0 ve üzeri: Alıcı sertifikası belirtilmedi.
.NET Core sürüm 2.2 ve öncesi: İmzalayan sertifikası sağlanmadı.
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'da 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
Belirtilen imzayı 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'da imza anahtarına erişmek için aşağıdaki izinler gereklidir: