Bagikan melalui


Metode SignedData.Sign

[Metode Tanda tangan tersedia untuk digunakan dalam sistem operasi yang ditentukan di bagian Persyaratan. Sebagai gantinya, gunakan Kelas SignedCms di dalam ruang nama System.Security.Cryptography.Pkcs .]

Metode Tanda tangan membuat tanda tangan digital pada konten yang akan ditandatangani. Tanda tangan digital terdiri dari hash konten yang akan ditandatangani yang dienkripsi dengan menggunakan kunci privat penanda tangan. Metode ini hanya dapat digunakan setelah properti SignedData.Content diinisialisasi. Jika metode Tanda tangan dipanggil pada objek yang sudah memiliki tanda tangan, tanda tangan lama diganti. Tanda tangan dibuat dengan menggunakan algoritma penandatanganan SHA1.

Sintaks

SignedData.Sign( _
  [ ByVal Signer ], _
  [ ByVal bDetached ], _
  [ ByVal EncodingType ] _
)

Parameter

Penanda tangan [masuk, opsional]

Referensi ke objek Penanda tangan penanda tangan data. Objek Penanda tangan harus memiliki akses ke kunci privatsertifikat yang digunakan untuk menandatangani. Parameter ini bisa NULL; untuk informasi selengkapnya, lihat Keterangan.

bDetached [in, opsional]

Jika True, data yang akan ditandatangani akan dilepas; artinya, konten yang ditandatangani tidak disertakan sebagai bagian dari objek yang ditandatangani. Untuk memverifikasi tanda tangan pada konten yang dicopot, aplikasi harus memiliki salinan konten asli. Konten yang dilepas sering digunakan untuk mengurangi ukuran objek yang ditandatangani untuk dikirim di seluruh web, jika penerima pesan yang ditandatangani memiliki salinan asli data yang ditandatangani. Nilai defaultnya adalah False.

EncodingType [in, opsional]

Nilai enumerasi CAPICOM_ENCODING_TYPE yang menunjukkan bagaimana data yang ditandatangani akan dikodekan. Nilai defaultnya adalah CAPICOM_ENCODE_BASE64. Parameter ini bisa menjadi salah satu nilai berikut.

Nilai Makna
CAPICOM_ENCODE_ANY
Jenis pengodean ini hanya digunakan ketika data input memiliki jenis pengodean yang tidak diketahui. Jika nilai ini digunakan untuk menentukan jenis pengodean output, CAPICOM_ENCODE_BASE64 akan digunakan sebagai gantinya. Diperkenalkan dalam CAPICOM 2.0.
CAPICOM_ENCODE_BASE64
Data disimpan sebagai string yang dikodekan base64.
CAPICOM_ENCODE_BINARY
Data disimpan sebagai urutan biner murni.

 

Menampilkan nilai

Metode ini mengembalikan string yang berisi data yang dikodekan dan ditandatangani.

Jika metode ini gagal, kesalahan akan dilemparkan. Objek Err akan berisi informasi tambahan tentang kesalahan tersebut.

Keterangan

Penting

Ketika metode ini dipanggil dari skrip web, skrip perlu menggunakan kunci privat Anda untuk membuat tanda tangan digital. Mengizinkan situs web yang tidak tepercaya menggunakan kunci privat Anda adalah risiko keamanan. Kotak dialog yang menanyakan apakah situs web dapat menggunakan kunci privat Anda muncul saat metode ini pertama kali dipanggil. Jika Anda memperbolehkan skrip menggunakan kunci privat Anda untuk membuat tanda tangan digital dan memilih "Jangan perlihatkan kotak dialog ini lagi," kotak dialog tidak akan lagi muncul untuk skrip apa pun dalam domain tersebut yang menggunakan kunci privat Anda untuk membuat tanda tangan digital. Namun, skrip di luar domain yang mencoba menggunakan kunci privat Anda untuk membuat tanda tangan digital masih akan menyebabkan kotak dialog ini muncul. Jika Anda tidak mengizinkan skrip untuk menggunakan kunci privat Anda dan memilih "Jangan tampilkan kotak dialog ini lagi," skrip dalam domain tersebut akan secara otomatis ditolak kemampuan untuk menggunakan kunci privat Anda untuk membuat tanda tangan digital.

 

Karena membuat tanda tangan digital memerlukan penggunaan kunci privat, aplikasi berbasis web yang mencoba menggunakan metode ini akan memerlukan perintah antarmuka pengguna yang memungkinkan pengguna menyetujui penggunaan kunci privat, karena alasan keamanan.

Hasil berikut berlaku untuk nilai parameter Penanda tangan :

  • Jika parameter Penanda tangan bukan NULL, metode ini menggunakan kunci privat yang ditujukkan oleh sertifikat terkait untuk mengenkripsi tanda tangan. Jika kunci privat yang diacu oleh sertifikat tidak tersedia, metode gagal.
  • Jika parameter Penanda tanganadalah NULL dan tepat ada satu sertifikat di CURRENT_USER penyimpanan MY yang memiliki akses ke kunci privat, sertifikat tersebut digunakan untuk membuat tanda tangan.
  • Jika parameter Penanda tanganadalah NULL, nilai properti Settings.EnablePromptForCertificateUI benar, dan ada lebih dari satu sertifikat di penyimpanan CURRENT_USER MY dengan kunci privat yang tersedia, kotak dialog muncul yang memungkinkan pengguna untuk memilih sertifikat mana yang digunakan.
  • Jika parameter Penanda tanganadalah NULL dan properti Settings.EnablePromptForCertificateUI salah, metode gagal.
  • Jika parameter Penanda tanganadalah NULL dan tidak ada sertifikat di CURRENT_USER penyimpanan MY dengan kunci privat yang tersedia, metode gagal.

Persyaratan

Persyaratan Nilai
Redistribusi
CAPICOM 2.0 atau yang lebih baru di Windows Server 2003 dan Windows XP
DLL
Capicom.dll

Lihat juga

Objek Kriptografi

SignedData