DSA Kelas

Definisi

Mewakili kelas dasar abstrak dari mana semua implementasi Algoritma Tanda Tangan Digital (DSA) harus diwarisi.

public ref class DSA abstract : System::Security::Cryptography::AsymmetricAlgorithm
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public abstract class DSA : System.Security.Cryptography.AsymmetricAlgorithm
public abstract class DSA : System.Security.Cryptography.AsymmetricAlgorithm
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class DSA : System.Security.Cryptography.AsymmetricAlgorithm
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type DSA = class
    inherit AsymmetricAlgorithm
type DSA = class
    inherit AsymmetricAlgorithm
[<System.Runtime.InteropServices.ComVisible(true)>]
type DSA = class
    inherit AsymmetricAlgorithm
Public MustInherit Class DSA
Inherits AsymmetricAlgorithm
Warisan
Turunan
Atribut

Keterangan

Anda dapat menggunakan DSA kelas dan kelas turunan untuk membuat tanda tangan digital yang membantu melindungi integritas data Anda. DSACryptoServiceProvider menyediakan implementasi kelas ini.

Untuk menggunakan sistem kunci publik untuk menandatangani pesan secara digital, pengirim terlebih dahulu menerapkan fungsi hash ke pesan untuk membuat hash pesan. Pengirim kemudian mengenkripsi hash pesan dengan kunci privat pengirim untuk membuat tanda tangan pribadi pengirim. Setelah menerima pesan dan tanda tangan, penerima mendekripsi tanda tangan menggunakan kunci umum pengirim untuk memulihkan hash pesan dan hash pesan menggunakan algoritma hash yang sama dengan yang digunakan pengirim. Jika hash pesan yang dihitung penerima sama persis dengan hash pesan yang diterima dari pengirim, penerima dapat mengasumsikan bahwa pesan tidak diubah saat transit. Perhatikan bahwa tanda tangan dapat diverifikasi oleh siapa pun, karena kunci umum pengirim adalah pengetahuan umum.

Penting

Pembuat algoritma DSA telah menarik dukungan mereka untuk itu. Pertimbangkan untuk RSA menggunakan kelas atau ECDsa kelas alih-alih DSA kelas . Gunakan DSA hanya untuk kompatibilitas dengan aplikasi dan data lama.

Ada dua versi algoritma DSA yang berbeda. Bentuk aslinya, yang dijelaskan dalam FIPS 186-2, memerlukan penggunaan SHA-1 sebagai algoritma hash dan mendukung panjang kunci dari 512 bit hingga 1024 bit dengan kenaikan 64 bit. Versi algoritma yang diperbarui dijelaskan dalam FIPS 186-3, yang memungkinkan penggunaan keluarga algoritma hash SHA-2 dan menambahkan dukungan untuk kunci 2048 bit dan kunci 3072 bit. Tidak semua implementasi turunan dari jenis ini mendukung peningkatan FIPS 186-3 ke DSA. Dukungan dapat dideteksi melalui LegalKeySizes properti .

Konstruktor

DSA()

Menginisialisasi instans baru kelas DSA.

Bidang

KeySizeValue

Mewakili ukuran, dalam bit, dari modulus kunci yang digunakan oleh algoritma asimetris.

(Diperoleh dari AsymmetricAlgorithm)
LegalKeySizesValue

Menentukan ukuran kunci yang didukung oleh algoritma asimetris.

(Diperoleh dari AsymmetricAlgorithm)

Properti

KeyExchangeAlgorithm

Ketika ditimpa di kelas turunan, mendapatkan nama algoritma pertukaran kunci. Jika tidak, melempar NotImplementedException.

(Diperoleh dari AsymmetricAlgorithm)
KeySize

Mendapatkan atau mengatur ukuran, dalam bit, dari modulus kunci yang digunakan oleh algoritma asimetris.

(Diperoleh dari AsymmetricAlgorithm)
LegalKeySizes

Mendapatkan ukuran kunci yang didukung oleh algoritma asimetris.

(Diperoleh dari AsymmetricAlgorithm)
SignatureAlgorithm

Saat diimplementasikan di kelas turunan, mendapatkan nama algoritma tanda tangan. Jika tidak, selalu melempar NotImplementedException.

(Diperoleh dari AsymmetricAlgorithm)

Metode

Clear()

Merilis semua sumber daya yang AsymmetricAlgorithm digunakan oleh kelas .

(Diperoleh dari AsymmetricAlgorithm)
Create()

Membuat objek kriptografi default yang digunakan untuk melakukan algoritma asimetris.

Create(DSAParameters)

Membuat kunci DSA ephemeral baru dengan parameter kunci DSA yang ditentukan.

Create(Int32)

Membuat kunci DSA ephemeral baru dengan ukuran kunci yang ditentukan.

Create(String)
Kedaluwarsa.

Membuat objek kriptografi yang ditentukan yang digunakan untuk melakukan algoritma asimetris.

CreateSignature(Byte[])

Saat ditimpa di kelas turunan DSA , membuat tanda tangan untuk nilai hash yang ditentukan.

CreateSignature(Byte[], DSASignatureFormat)

Membuat tanda tangan DSA untuk nilai hash yang ditentukan dalam format yang ditunjukkan.

CreateSignatureCore(ReadOnlySpan<Byte>, DSASignatureFormat)

Membuat tanda tangan DSA untuk nilai hash yang ditentukan dalam format yang ditunjukkan.

Dispose()

Merilis semua sumber daya yang digunakan oleh instans AsymmetricAlgorithm kelas saat ini.

(Diperoleh dari AsymmetricAlgorithm)
Dispose(Boolean)

Merilis sumber daya tidak terkelola yang digunakan oleh AsymmetricAlgorithm kelas dan secara opsional merilis sumber daya terkelola.

(Diperoleh dari AsymmetricAlgorithm)
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Mengekspor kunci saat ini dalam format PKCS#8 EncryptedPrivateKeyInfo dengan kata sandi berbasis byte.

(Diperoleh dari AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

Mengekspor kunci saat ini dalam format PKCS#8 EncryptedPrivateKeyInfo dengan kata sandi berbasis karakter.

(Diperoleh dari AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters)

Mengekspor kunci saat ini dalam format PKCS#8 EncryptedPrivateKeyInfo dengan kata sandi berbasis byte, yang dikodekan PEM.

(Diperoleh dari AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters)

Mengekspor kunci saat ini dalam format PKCS#8 EncryptedPrivateKeyInfo dengan kata sandi berbasis karakter, yang dikodekan PEM.

(Diperoleh dari AsymmetricAlgorithm)
ExportParameters(Boolean)

Ketika ditimpa di kelas turunan DSAParameters, mengekspor .

ExportPkcs8PrivateKey()

Mengekspor kunci saat ini dalam format PKCS#8 PrivateKeyInfo.

(Diperoleh dari AsymmetricAlgorithm)
ExportPkcs8PrivateKeyPem()

Mengekspor kunci saat ini dalam format PKCS#8 PrivateKeyInfo, yang dikodekan PEM.

(Diperoleh dari AsymmetricAlgorithm)
ExportSubjectPublicKeyInfo()

Mengekspor bagian kunci publik dari kunci saat ini dalam format SubjectPublicKeyInfo X.509.

(Diperoleh dari AsymmetricAlgorithm)
ExportSubjectPublicKeyInfoPem()

Mengekspor bagian kunci publik dari kunci saat ini dalam format SubjectPublicKeyInfo X.509, yang dikodekan PEM.

(Diperoleh dari AsymmetricAlgorithm)
FromXmlString(String)

Merekonstruksi DSA objek dari string XML.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetMaxSignatureSize(DSASignatureFormat)

Mendapatkan ukuran terbesar, dalam byte, untuk tanda tangan yang dihasilkan oleh kunci ini dalam format yang ditunjukkan.

GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
HashData(Byte[], Int32, Int32, HashAlgorithmName)

Saat ditimpa dalam kelas turunan, menghitung nilai hash dari bagian tertentu dari array byte dengan menggunakan algoritma hash tertentu.

HashData(Stream, HashAlgorithmName)

Saat ditimpa di kelas turunan, menghitung nilai hash dari aliran biner tertentu dengan menggunakan algoritma hash tertentu.

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

Mengimpor keypair publik/privat dari struktur PKCS#8 EncryptedPrivateKeyInfo setelah mendekripsi dengan kata sandi berbasis byte, menggantikan kunci untuk objek ini.

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

Ketika ditimpa di kelas turunan, mengimpor keypair publik/privat dari struktur PKCS#8 EncryptedPrivateKeyInfo setelah mendekripsi dengan kata sandi berbasis byte, menggantikan kunci untuk objek ini.

(Diperoleh dari AsymmetricAlgorithm)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

Mengimpor keypair publik/privat dari struktur PKCS#8 EncryptedPrivateKeyInfo setelah mendekripsi dengan kata sandi berbasis karakter, menggantikan kunci untuk objek ini.

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

Ketika ditimpa di kelas turunan, mengimpor keypair publik/privat dari struktur PKCS#8 EncryptedPrivateKeyInfo setelah mendekripsi dengan kata sandi berbasis karakter, menggantikan kunci untuk objek ini.

(Diperoleh dari AsymmetricAlgorithm)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

Mengimpor kunci privat yang dikodekan RFC 7468 PEM terenkripsi, menggantikan kunci untuk objek ini.

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

Ketika ditimpa di kelas turunan, mengimpor kunci yang dikodekan RFC 7468 PEM terenkripsi, menggantikan kunci untuk objek ini.

(Diperoleh dari AsymmetricAlgorithm)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

Mengimpor kunci privat yang dikodekan RFC 7468 PEM terenkripsi, menggantikan kunci untuk objek ini.

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

Ketika ditimpa di kelas turunan, mengimpor kunci yang dikodekan RFC 7468 PEM terenkripsi, menggantikan kunci untuk objek ini.

(Diperoleh dari AsymmetricAlgorithm)
ImportFromPem(ReadOnlySpan<Char>)

Mengimpor kunci yang dikodekan RFC 7468 PEM, menggantikan kunci untuk objek ini.

ImportFromPem(ReadOnlySpan<Char>)

Ketika ditimpa di kelas turunan, mengimpor kunci yang dikodekan secara tekstual RFC 7468, menggantikan kunci untuk objek ini.

(Diperoleh dari AsymmetricAlgorithm)
ImportParameters(DSAParameters)

Ketika ditimpa di kelas turunan, mengimpor yang ditentukan DSAParameters.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Mengimpor keypair publik/privat dari struktur PKCS#8 PrivateKeyInfo setelah dekripsi, menggantikan kunci untuk objek ini.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Ketika ditimpa di kelas turunan, mengimpor keypair publik/privat dari struktur PKCS#8 PrivateKeyInfo setelah dekripsi, menggantikan kunci untuk objek ini.

(Diperoleh dari AsymmetricAlgorithm)
ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

Mengimpor kunci publik dari struktur SubjectPublicKeyInfo X.509 setelah dekripsi, menggantikan kunci untuk objek ini.

ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

Ketika ditimpa di kelas turunan, mengimpor kunci publik dari struktur SubjectPublicKeyInfo X.509 setelah dekripsi, menggantikan kunci untuk objek ini.

(Diperoleh dari AsymmetricAlgorithm)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
SignData(Byte[], HashAlgorithmName)

Menghitung nilai hash dari array byte yang ditentukan menggunakan algoritma hash yang ditentukan dan menandatangani nilai hash yang dihasilkan.

SignData(Byte[], HashAlgorithmName, DSASignatureFormat)

Menghitung nilai hash dari data yang ditentukan dan menandatanganinya menggunakan format tanda tangan yang ditentukan.

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

Menghitung nilai hash dari sebagian array byte yang ditentukan menggunakan algoritma hash yang ditentukan dan menandatangani nilai hash yang dihasilkan.

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

Menghitung nilai hash dari data yang ditentukan dan menandatanganinya menggunakan format tanda tangan yang ditentukan.

SignData(Stream, HashAlgorithmName)

Menghitung nilai hash dari aliran yang ditentukan menggunakan algoritma hash yang ditentukan dan menandatangani nilai hash yang dihasilkan.

SignData(Stream, HashAlgorithmName, DSASignatureFormat)

Menghitung nilai hash dari data yang ditentukan dan menandatanganinya menggunakan format tanda tangan yang ditentukan.

SignDataCore(ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

Menghitung nilai hash dari data yang ditentukan dan menandatanganinya menggunakan format tanda tangan yang ditentukan.

SignDataCore(Stream, HashAlgorithmName, DSASignatureFormat)

Menghitung nilai hash dari data yang ditentukan dan menandatanganinya menggunakan format tanda tangan yang ditentukan.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
ToXmlString(Boolean)

Membuat dan mengembalikan representasi string XML dari objek saat ini DSA .

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

Mencoba membuat tanda tangan DSA untuk nilai hash yang ditentukan dalam format yang ditunjukkan dan menempatkannya ke dalam buffer yang disediakan.

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

Mencoba membuat tanda tangan DSA untuk hash yang ditentukan ke dalam buffer yang disediakan.

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

Mencoba membuat tanda tangan DSA untuk nilai hash yang ditentukan dalam format yang ditunjukkan dan menempatkannya ke dalam buffer yang disediakan.

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

Mencoba mengekspor kunci saat ini dalam format PKCS#8 EncryptedPrivateKeyInfo ke dalam buffer yang disediakan, menggunakan kata sandi berbasis byte.

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

Ketika ditimpa di kelas turunan, mencoba mengekspor kunci saat ini dalam format PKCS#8 EncryptedPrivateKeyInfo ke dalam buffer yang disediakan, menggunakan kata sandi berbasis byte.

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

Mencoba mengekspor kunci saat ini dalam format PKCS#8 EncryptedPrivateKeyInfo ke dalam buffer yang disediakan, menggunakan kata sandi berbasis karakter.

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

Ketika ditimpa di kelas turunan, mencoba mengekspor kunci saat ini dalam format PKCS#8 EncryptedPrivateKeyInfo ke dalam buffer yang disediakan, menggunakan kata sandi berbasis karakter.

(Diperoleh dari AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters, Span<Char>, Int32)

Mencoba mengekspor kunci saat ini dalam format PKCS#8 EncryptedPrivateKeyInfo dengan kata sandi berbasis byte, yang dikodekan PEM.

(Diperoleh dari AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters, Span<Char>, Int32)

Mengekspor kunci saat ini dalam format PKCS#8 EncryptedPrivateKeyInfo dengan kata sandi berbasis karakter, yang dikodekan PEM.

(Diperoleh dari AsymmetricAlgorithm)
TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Mencoba mengekspor kunci saat ini dalam format PKCS#8 PrivateKeyInfo ke dalam buffer yang disediakan.

TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Ketika ditimpa di kelas turunan, mencoba mengekspor kunci saat ini dalam format PKCS#8 PrivateKeyInfo ke dalam buffer yang disediakan.

(Diperoleh dari AsymmetricAlgorithm)
TryExportPkcs8PrivateKeyPem(Span<Char>, Int32)

Mencoba mengekspor kunci saat ini dalam format PKCS#8 PrivateKeyInfo yang dikodekan PEM ke dalam buffer yang disediakan.

(Diperoleh dari AsymmetricAlgorithm)
TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

Mencoba mengekspor kunci saat ini dalam format X.509 SubjectPublicKeyInfo ke dalam buffer yang disediakan.

TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

Ketika ditimpa di kelas turunan, mencoba mengekspor kunci saat ini dalam format X.509 SubjectPublicKeyInfo ke dalam buffer yang disediakan.

(Diperoleh dari AsymmetricAlgorithm)
TryExportSubjectPublicKeyInfoPem(Span<Char>, Int32)

Mencoba mengekspor kunci saat ini dalam format SubjectPublicKeyInfo X.509 yang dikodekan PEM ke dalam buffer yang disediakan.

(Diperoleh dari AsymmetricAlgorithm)
TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32)

Mencoba menghitung nilai hash dari data yang disediakan ke dalam buffer yang disediakan.

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

Mencoba membuat tanda tangan DSA untuk data yang ditentukan dalam format yang ditunjukkan dan menempatkannya ke dalam buffer yang disediakan.

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

Mencoba membuat tanda tangan DSA untuk data yang ditentukan ke dalam buffer yang disediakan.

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

Mencoba membuat tanda tangan DSA untuk data yang ditentukan dalam format yang ditunjukkan dan menempatkannya ke dalam buffer yang disediakan.

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

Memverifikasi bahwa tanda tangan digital valid dengan menghitung nilai hash data yang ditentukan menggunakan algoritma hash yang ditentukan dan membandingkannya dengan tanda tangan yang disediakan.

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

Memverifikasi bahwa tanda tangan digital valid untuk data yang disediakan.

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

Memverifikasi bahwa tanda tangan digital valid dengan menghitung nilai hash data dalam sebagian array byte menggunakan algoritma hash yang ditentukan dan membandingkannya dengan tanda tangan yang disediakan.

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

Memverifikasi bahwa tanda tangan digital valid untuk data yang disediakan.

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

Memverifikasi bahwa tanda tangan digital valid dengan menghitung nilai hash data dalam rentang byte menggunakan algoritma hash yang ditentukan dan membandingkannya dengan tanda tangan yang disediakan.

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

Memverifikasi bahwa tanda tangan digital valid untuk data yang disediakan.

VerifyData(Stream, Byte[], HashAlgorithmName)

Memverifikasi bahwa tanda tangan digital valid dengan menghitung nilai hash aliran yang ditentukan menggunakan algoritma hash yang ditentukan dan membandingkannya dengan tanda tangan yang disediakan.

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

Memverifikasi bahwa tanda tangan digital valid untuk data yang disediakan.

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

Memverifikasi bahwa tanda tangan digital valid untuk data yang disediakan.

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

Memverifikasi bahwa tanda tangan digital valid untuk data yang disediakan.

VerifySignature(Byte[], Byte[])

Saat ditimpa di kelas turunan, verifikasi DSA tanda tangan untuk data yang ditentukan.

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

Memverifikasi bahwa tanda tangan digital valid untuk hash yang disediakan.

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

Memverifikasi bahwa tanda tangan digital valid untuk hash data yang disediakan.

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

Memverifikasi bahwa tanda tangan digital valid untuk hash yang disediakan.

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

Memverifikasi bahwa tanda tangan digital valid untuk hash yang disediakan.

Implementasi Antarmuka Eksplisit

IDisposable.Dispose()

API ini mendukung infrastruktur produk dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

Untuk deskripsi anggota ini, lihat Dispose().

(Diperoleh dari AsymmetricAlgorithm)

Berlaku untuk

Lihat juga