DSA Sınıf

Tanım

Dijital İmza Algoritması'nın (DSA) tüm uygulamalarının devralması gereken soyut temel sınıfı temsil eder.

public ref class DSA abstract : System::Security::Cryptography::AsymmetricAlgorithm
public abstract class DSA : System.Security.Cryptography.AsymmetricAlgorithm
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public abstract class DSA : System.Security.Cryptography.AsymmetricAlgorithm
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class DSA : System.Security.Cryptography.AsymmetricAlgorithm
type DSA = class
    inherit AsymmetricAlgorithm
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type DSA = class
    inherit AsymmetricAlgorithm
[<System.Runtime.InteropServices.ComVisible(true)>]
type DSA = class
    inherit AsymmetricAlgorithm
Public MustInherit Class DSA
Inherits AsymmetricAlgorithm
Devralma
Türetilmiş
Öznitelikler

Açıklamalar

Verilerinizin DSA bütünlüğünü korumaya yardımcı olan dijital imzalar oluşturmak için sınıfını ve türetilmiş sınıfları kullanabilirsiniz. , DSACryptoServiceProvider bu sınıfın bir uygulamasını sağlar.

Bir iletiyi dijital olarak imzalamak için ortak anahtar sistemi kullanmak için, gönderen önce iletiye bir karma işlevi uygulayarak ileti özeti oluşturur. Ardından gönderen, ileti özetini gönderenin özel anahtarıyla şifreleyerek gönderenin kişisel imzasını oluşturur. İletiyi ve imzayı aldıktan sonra alıcı, ileti özetini kurtarmak için gönderenin ortak anahtarını kullanarak imzanın şifresini çözer ve gönderenin kullandığı karma algoritmayı kullanarak iletinin karmasını oluşturur. Alıcının işlediği ileti özeti gönderenden alınan ileti özetiyle tam olarak eşleşiyorsa, alıcı iletinin aktarım sırasında değiştirilmediğini varsayabilir. Gönderenin ortak anahtarı ortak bilgi olduğundan, imzanın herkes tarafından doğrulanabilir olduğunu unutmayın.

Important

DSA algoritmasının oluşturucuları bu algoritmaya yönelik desteğini geri çekti. sınıfı yerine RSA sınıfını ECDsa veya sınıfını DSA kullanmayı göz önünde bulundurun. Yalnızca eski uygulamalar ve verilerle uyumluluk için kullanın DSA .

DSA algoritmasının iki farklı sürümü vardır. FIPS 186-2'de açıklanan özgün form, karma algoritma olarak SHA-1 kullanılmasını gerektirir ve 512 bit ile 1024 bit arasında anahtar uzunluklarını 64 bitlik artışlarla destekler. Algoritmanın güncelleştirilmiş bir sürümü, SHA-2 karma algoritmaları ailesinin kullanımını etkinleştiren ve 2048 bit anahtarları ve 3072 bit anahtarları için destek ekleyen FIPS 186-3'te açıklanmıştır. Bu türdeki türetilmiş uygulamaların tümü, DSA'ya yönelik FIPS 186-3 geliştirmelerini desteklemez. Destek özelliği aracılığıyla LegalKeySizes algılanabilir.

Oluşturucular

Name Description
DSA()

DSA sınıfının yeni bir örneğini başlatır.

Alanlar

Name Description
KeySizeValue

Asimetrik algoritma tarafından kullanılan anahtar modülünün bit cinsinden boyutunu temsil eder.

(Devralındığı yer: AsymmetricAlgorithm)
LegalKeySizesValue

Asimetrik algoritma tarafından desteklenen anahtar boyutlarını belirtir.

(Devralındığı yer: AsymmetricAlgorithm)

Özellikler

Name Description
KeyExchangeAlgorithm

Türetilmiş bir sınıfta geçersiz kılındığında anahtar değişim algoritmasının adını alır. Aksi takdirde, bir NotImplementedExceptionoluşturur.

(Devralındığı yer: AsymmetricAlgorithm)
KeySize

Asimetrik algoritma tarafından kullanılan anahtar modülünün bit cinsinden boyutunu alır veya ayarlar.

(Devralındığı yer: AsymmetricAlgorithm)
LegalKeySizes

Asimetrik algoritma tarafından desteklenen anahtar boyutlarını alır.

(Devralındığı yer: AsymmetricAlgorithm)
SignatureAlgorithm

Türetilmiş bir sınıfta uygulandığında, imza algoritmasının adını alır. Aksi takdirde, her zaman bir NotImplementedExceptionoluşturur.

(Devralındığı yer: AsymmetricAlgorithm)

Yöntemler

Name Description
Clear()

sınıfı tarafından AsymmetricAlgorithm kullanılan tüm kaynakları serbest bırakır.

(Devralındığı yer: AsymmetricAlgorithm)
Create()

Asimetrik algoritmayı gerçekleştirmek için kullanılan varsayılan şifreleme nesnesini oluşturur.

Create(DSAParameters)

Belirtilen DSA anahtar parametreleriyle yeni bir kısa ömürlü DSA anahtarı oluşturur.

Create(Int32)

Belirtilen anahtar boyutuna sahip yeni kısa ömürlü bir DSA anahtarı oluşturur.

Create(String)
Geçersiz.

Asimetrik algoritmayı gerçekleştirmek için kullanılan belirtilen şifreleme nesnesini oluşturur.

CreateSignature(Byte[], DSASignatureFormat)

Belirtilen karma değeri için belirtilen biçimde DSA imzasını oluşturur.

CreateSignature(Byte[])

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen karma değeri için imzayı oluşturur DSA .

CreateSignatureCore(ReadOnlySpan<Byte>, DSASignatureFormat)

Belirtilen karma değeri için belirtilen biçimde DSA imzasını oluşturur.

Dispose()

Sınıfın geçerli örneği AsymmetricAlgorithm tarafından kullanılan tüm kaynakları serbest bırakır.

(Devralındığı yer: AsymmetricAlgorithm)
Dispose(Boolean)

sınıfı tarafından AsymmetricAlgorithm kullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları serbest bırakır.

(Devralındığı yer: AsymmetricAlgorithm)
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Geçerli anahtarı PKCS#8 EncryptedPrivateKeyInfo biçiminde bayt tabanlı bir parolayla dışarı aktarır.

(Devralındığı yer: AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

Geçerli anahtarı, karakter tabanlı bir parolayla PKCS#8 EncryptedPrivateKeyInfo biçiminde dışarı aktarır.

(Devralındığı yer: AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters)

Geçerli anahtarı PKCS#8 EncryptedPrivateKeyInfo biçiminde pem kodlanmış bayt tabanlı bir parolayla dışarı aktarır.

(Devralındığı yer: AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters)

Geçerli anahtarı PKCS#8 EncryptedPrivateKeyInfo biçiminde pem kodlanmış karakter tabanlı bir parolayla dışarı aktarır.

(Devralındığı yer: AsymmetricAlgorithm)
ExportParameters(Boolean)

Türetilmiş bir sınıfta geçersiz kılındığında, dışarı aktarır DSAParameters.

ExportPkcs8PrivateKey()

Geçerli anahtarı PKCS#8 PrivateKeyInfo biçiminde dışarı aktarır.

(Devralındığı yer: AsymmetricAlgorithm)
ExportPkcs8PrivateKeyPem()

Geçerli anahtarı, PEM kodlanmış PKCS#8 PrivateKeyInfo biçiminde dışarı aktarır.

(Devralındığı yer: AsymmetricAlgorithm)
ExportSubjectPublicKeyInfo()

Geçerli anahtarın ortak anahtar bölümünü X.509 SubjectPublicKeyInfo biçiminde dışarı aktarır.

(Devralındığı yer: AsymmetricAlgorithm)
ExportSubjectPublicKeyInfoPem()

Geçerli anahtarın ortak anahtar bölümünü PEM kodlanmış X.509 SubjectPublicKeyInfo biçiminde dışarı aktarır.

(Devralındığı yer: AsymmetricAlgorithm)
FromXmlString(String)

Xml dizesinden bir DSA nesneyi yeniden oluşturur.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetMaxSignatureSize(DSASignatureFormat)

Belirtilen biçimde bu anahtar tarafından üretilen bir imza için bayt cinsinden en büyük boyutu alır.

GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
HashData(Byte[], Int32, Int32, HashAlgorithmName)

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen bir karma algoritması kullanarak bayt dizisinin belirtilen bir bölümünün karma değerini hesaplar.

HashData(Stream, HashAlgorithmName)

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen bir karma algoritması kullanarak belirtilen ikili akışın karma değerini hesaplar.

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

Bayt tabanlı bir parolayla şifreyi çözdükten sonra, bu nesnenin anahtarlarını değiştirerek PKCS#8 EncryptedPrivateKeyInfo yapısından genel/özel anahtar bölmesini içeri aktarır.

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

Türetilmiş bir sınıfta geçersiz kılındığında, bayt tabanlı bir parolayla şifresini çözdükten sonra bu nesnenin anahtarlarını değiştirerek PKCS#8 EncryptedPrivateKeyInfo yapısından genel/özel anahtar bölmesini içeri aktarır.

(Devralındığı yer: AsymmetricAlgorithm)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

Bu nesnenin anahtarlarını değiştirerek karakter tabanlı bir parolayla şifreyi çözdükten sonra PKCS#8 EncryptedPrivateKeyInfo yapısından genel/özel anahtar bölmesini içeri aktarır.

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

Türetilmiş bir sınıfta geçersiz kılındığında, bu nesnenin anahtarlarını değiştirerek karakter tabanlı bir parolayla şifreyi çözdükten sonra PKCS#8 EncryptedPrivateKeyInfo yapısından genel/özel anahtar bölmesini içeri aktarır.

(Devralındığı yer: AsymmetricAlgorithm)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

Şifrelenmiş bir RFC 7468 PEM kodlu özel anahtarı içeri aktarır ve bu nesnenin anahtarlarını değiştirir.

ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

Şifrelenmiş bir RFC 7468 PEM kodlu özel anahtarı içeri aktarır ve bu nesnenin anahtarlarını değiştirir.

ImportFromPem(ReadOnlySpan<Char>)

Bu nesnenin anahtarlarını değiştirerek RFC 7468 PEM ile kodlanmış bir anahtarı içeri aktarır.

ImportParameters(DSAParameters)

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen DSAParametersöğesini içeri aktarır.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Şifre çözme işleminden sonra pkcs#8 PrivateKeyInfo yapısından ortak/özel anahtar bölmesini içeri aktarır ve bu nesnenin anahtarlarını değiştirir.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Türetilmiş bir sınıfta geçersiz kılındığında, şifre çözme işleminden sonra bir PKCS#8 PrivateKeyInfo yapısından public/private anahtar bölmesini içeri aktarır ve bu nesnenin anahtarlarını değiştirir.

(Devralındığı yer: AsymmetricAlgorithm)
ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

Şifre çözme işleminden sonra bir X.509 SubjectPublicKeyInfo yapısından ortak anahtarı içeri aktarır ve bu nesnenin anahtarlarını değiştirir.

ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

Türetilmiş bir sınıfta geçersiz kılındığında, şifre çözme işleminden sonra bir X.509 SubjectPublicKeyInfo yapısından ortak anahtarı içeri aktarır ve bu nesnenin anahtarlarını değiştirir.

(Devralındığı yer: AsymmetricAlgorithm)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
SignData(Byte[], HashAlgorithmName, DSASignatureFormat)

Belirtilen verilerin karma değerini hesaplar ve belirtilen imza biçimini kullanarak imzalar.

SignData(Byte[], HashAlgorithmName)

Belirtilen karma algoritmasını kullanarak belirtilen bayt dizisinin karma değerini hesaplar ve sonuçta elde edilen karma değerini imzalar.

SignData(Byte[], Int32, Int32, HashAlgorithmName, DSASignatureFormat)

Belirtilen verilerin karma değerini hesaplar ve belirtilen imza biçimini kullanarak imzalar.

SignData(Byte[], Int32, Int32, HashAlgorithmName)

Belirtilen karma algoritmasını kullanarak belirtilen bayt dizisinin bir bölümünün karma değerini hesaplar ve sonuçta elde edilen karma değerini imzalar.

SignData(Stream, HashAlgorithmName, DSASignatureFormat)

Belirtilen verilerin karma değerini hesaplar ve belirtilen imza biçimini kullanarak imzalar.

SignData(Stream, HashAlgorithmName)

Belirtilen karma algoritmasını kullanarak belirtilen akışın karma değerini hesaplar ve sonuçta elde edilen karma değerini imzalar.

SignDataCore(ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

Belirtilen verilerin karma değerini hesaplar ve belirtilen imza biçimini kullanarak imzalar.

SignDataCore(Stream, HashAlgorithmName, DSASignatureFormat)

Belirtilen verilerin karma değerini hesaplar ve belirtilen imza biçimini kullanarak imzalar.

ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)
ToXmlString(Boolean)

Geçerli DSA nesnenin XML dize gösterimini oluşturur ve döndürür.

TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, DSASignatureFormat, Int32)

Belirtilen karma değerin DSA imzasını belirtilen biçimde oluşturmayı ve sağlanan arabelleğe yerleştirmeyi dener.

TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, Int32)

Belirtilen karma için DSA imzasını sağlanan arabelleğe oluşturmaya çalışır.

TryCreateSignatureCore(ReadOnlySpan<Byte>, Span<Byte>, DSASignatureFormat, Int32)

Belirtilen karma değerin DSA imzasını belirtilen biçimde oluşturmayı ve sağlanan arabelleğe yerleştirmeyi dener.

TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

PKCS#8 EncryptedPrivateKeyInfo biçimindeki geçerli anahtarı bayt tabanlı bir parola kullanarak sağlanan arabelleğe aktarmaya çalışır.

TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

Türetilmiş bir sınıfta geçersiz kılındığında, bayt tabanlı bir parola kullanarak PKCS#8 EncryptedPrivateKeyInfo biçimindeki geçerli anahtarı sağlanan bir arabelleğe dışarı aktarmayı dener.

(Devralındığı yer: AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

PKCS#8 EncryptedPrivateKeyInfo biçimindeki geçerli anahtarı, karakter tabanlı bir parola kullanarak sağlanan bir arabelleğe aktarmayı dener.

TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

Türetilmiş bir sınıfta geçersiz kılındığında, geçerli anahtarı PKCS#8 EncryptedPrivateKeyInfo biçiminde char tabanlı bir parola kullanarak sağlanan bir arabelleğe dışarı aktarmayı dener.

(Devralındığı yer: AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters, Span<Char>, Int32)

GEÇERLI anahtarı, PEM kodlanmış bayt tabanlı parolayla PKCS#8 EncryptedPrivateKeyInfo biçiminde dışarı aktarmayı dener.

(Devralındığı yer: AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters, Span<Char>, Int32)

Geçerli anahtarı PKCS#8 EncryptedPrivateKeyInfo biçiminde pem kodlanmış karakter tabanlı bir parolayla dışarı aktarır.

(Devralındığı yer: AsymmetricAlgorithm)
TryExportPkcs8PrivateKey(Span<Byte>, Int32)

PKCS#8 PrivateKeyInfo biçimindeki geçerli anahtarı sağlanan arabelleğe aktarmayı dener.

TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Türetilmiş bir sınıfta geçersiz kılındığında, GEÇERLI anahtarı PKCS#8 PrivateKeyInfo biçiminde sağlanan bir arabelleğe dışarı aktarmayı dener.

(Devralındığı yer: AsymmetricAlgorithm)
TryExportPkcs8PrivateKeyPem(Span<Char>, Int32)

PEM ile kodlanmış PKCS#8 PrivateKeyInfo biçimindeki geçerli anahtarı sağlanan bir arabelleğe aktarmaya çalışır.

(Devralındığı yer: AsymmetricAlgorithm)
TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

X.509 SubjectPublicKeyInfo biçimindeki geçerli anahtarı sağlanan bir arabelleğe aktarmayı dener.

TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

Türetilmiş bir sınıfta geçersiz kılındığında, X.509 SubjectPublicKeyInfo biçimindeki geçerli anahtarı sağlanan bir arabelleğe dışarı aktarmayı dener.

(Devralındığı yer: AsymmetricAlgorithm)
TryExportSubjectPublicKeyInfoPem(Span<Char>, Int32)

PEM ile kodlanmış X.509 SubjectPublicKeyInfo biçimindeki geçerli anahtarı sağlanan bir arabelleğe aktarmayı dener.

(Devralındığı yer: AsymmetricAlgorithm)
TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32)

Sağlanan verilerin karma değerini sağlanan bir arabelleğe hesaplamayı dener.

TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, DSASignatureFormat, Int32)

Belirtilen veriler için belirtilen biçimde DSA imzası oluşturmayı ve sağlanan arabelleğe yerleştirmeyi dener.

TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32)

Belirtilen veriler için DSA imzasını sağlanan arabelleğe oluşturmaya çalışır.

TrySignDataCore(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, DSASignatureFormat, Int32)

Belirtilen veriler için belirtilen biçimde DSA imzası oluşturmayı ve sağlanan arabelleğe yerleştirmeyi dener.

VerifyData(Byte[], Byte[], HashAlgorithmName, DSASignatureFormat)

Sağlanan veriler için dijital imzanın geçerli olduğunu doğrular.

VerifyData(Byte[], Byte[], HashAlgorithmName)

Belirtilen karma algoritmasını kullanarak belirtilen verilerin karma değerini hesaplayıp sağlanan imzayla karşılaştırarak dijital imzanın geçerli olduğunu doğrular.

VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName, DSASignatureFormat)

Sağlanan veriler için dijital imzanın geçerli olduğunu doğrular.

VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName)

Belirtilen karma algoritmayı kullanarak bayt dizisinin bir bölümündeki verilerin karma değerini hesaplayıp sağlanan imzayla karşılaştırarak dijital imzanın geçerli olduğunu doğrular.

VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

Sağlanan veriler için dijital imzanın geçerli olduğunu doğrular.

VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName)

Belirtilen karma algoritmasını kullanarak bayt aralığındaki verilerin karma değerini hesaplayıp sağlanan imzayla karşılaştırarak dijital imzanın geçerli olduğunu doğrular.

VerifyData(Stream, Byte[], HashAlgorithmName, DSASignatureFormat)

Sağlanan veriler için dijital imzanın geçerli olduğunu doğrular.

VerifyData(Stream, Byte[], HashAlgorithmName)

Belirtilen karma algoritmasını kullanarak belirtilen akışın karma değerini hesaplayıp sağlanan imzayla karşılaştırarak dijital imzanın geçerli olduğunu doğrular.

VerifyDataCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

Sağlanan veriler için dijital imzanın geçerli olduğunu doğrular.

VerifyDataCore(Stream, ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

Sağlanan veriler için dijital imzanın geçerli olduğunu doğrular.

VerifySignature(Byte[], Byte[], DSASignatureFormat)

Sağlanan karma için dijital imzanın geçerli olduğunu doğrular.

VerifySignature(Byte[], Byte[])

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen veriler için imzayı DSA doğrular.

VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, DSASignatureFormat)

Sağlanan karma için dijital imzanın geçerli olduğunu doğrular.

VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>)

Sağlanan veri karması için dijital imzanın geçerli olduğunu doğrular.

VerifySignatureCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, DSASignatureFormat)

Sağlanan karma için dijital imzanın geçerli olduğunu doğrular.

Belirtik Arabirim Kullanımları

Name Description
IDisposable.Dispose()

Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir.

Bu üyenin açıklaması için bkz Dispose(). .

(Devralındığı yer: AsymmetricAlgorithm)

Şunlara uygulanır

Ayrıca bkz.