Cara menandatangani file xml dengan tanda tangan digital. Petunjuk untuk menandatangani file dengan tanda tangan elektronik

Untuk waktu yang lama, pertanyaan yang paling mendesak bagi saya adalah bagaimana dan dengan apa menandatangani dokumen dan file XML dengan tanda tangan elektronik atau tanda tangan digital. Ada baiknya saat Anda berada di kantor dan semua program untuk menandatangani dokumen dan file XML diinstal di tempat kerja Anda. Namun dalam pekerjaan saya, situasi sering muncul ketika perlu membuat dan menandatangani dokumen, file XML, berada jauh dari tempat kerja saya atau, seperti biasa, segera dilakukan sekarang, saat berada di rumah. Terlalu mahal untuk membeli dan menginstal perangkat lunak untuk penandatanganan dengan tanda tangan digital elektronik, juga di rumah, atau di laptop dan membawanya bersama Anda selamanya. Kemudian saya berangkat untuk menemukan program yang didistribusikan secara bebas di Internet yang dapat menandatangani dokumen dan file XML dengan tanda tangan digital elektronik - EDS. Program-program inilah, serta yang berbayar, yang akan kami pertimbangkan di bawah ini.

Untuk dikirim ke Rosreestr, dan ini wajib, semua dokumen harus ditandatangani dengan EDS (tanda tangan digital elektronik), dan terkadang Anda perlu memeriksa EDS Anda sendiri atau orang lain.

Jadi, pertimbangkan bagaimana dan apa alat perangkat lunak Anda dapat menandatangani dokumen atau file XML dengan tanda tangan digital elektronik. Salah satu programnya adalah GIS "Panorama" - "Map-2011" versi 11.10.4. Penandatanganan dokumen berfungsi bahkan dalam versi yang tidak terdaftar. Prosedur untuk menandatangani dokumen, file Daftar program yang memungkinkan Anda menandatangani dokumen, file XML, EDS (tanda tangan digital elektronik) untuk pertukaran data dengan portal pelayanan publik Layanan Federal pendaftaran negara, kadaster dan kartografi, Rosreestr, melalui Internet EDS adalah sebagai berikut: luncurkan "Map-2011", atau "Mini-Map", tekan "F12" untuk memanggil menu peluncuran aplikasi. Di jendela yang muncul, pilih tugas dokumen elektronik, Lebih jauh Pembentukan tanda tangan digital elektronik

File tanda tangan: pilih file yang ingin Anda tanda tangani, dan, karenanya, sertifikat yang diinginkan dalam sertifikat. Itu saja Dokumen atau file XML Anda ditandatangani dengan EDS. Jika Anda ingin memeriksa tanda tangan yang sudah ada, maka file tanda tangan, pilih file tanda tangan (file dengan ekstensi "sig"). Situs resmi GIS "".

Program kedua untuk menandatangani dokumen, file XML adalah CryptoLine. Gratis, berfungsi penuh, memungkinkan Anda untuk menandatangani, mengenkripsi dokumen, serta memverifikasi tanda tangan digital. Unduh program ini Anda dapat dari situs resmi atau mengunduh melalui tautan langsung dari halaman situs ini. Bekerja dengan program ini sederhana dan nyaman. Pilih dan tambahkan file yang perlu ditandatangani, lalu pilih sertifikat yang Anda perlukan untuk menandatangani dokumen, file XML, dan menandatangani dokumen. Hati-hati - pilih hanya satu sertifikat untuk ditandatangani !!! Jika tidak, dokumen akan ditandatangani dengan sertifikat sebanyak yang Anda tambahkan ke program. Instruksi pengoperasian ada di arsip program. Untuk menandatangani perubahan Rossreestr, saya akan memberikan contoh di bawah ini.

Setelah menginstal program dan menjalankannya, tambahkan file ke program yang perlu ditandatangani. tab Tindakan, tombol Tambah.

Untuk menandatangani semua file sekaligus, Anda harus memilih semuanya - "Shift + tombol mouse kanan" atau "Shift + panah bawah". Kemudian klik "Masuk", di jendela yang muncul, tambahkan sertifikat, atau biarkan yang dipilih sebelumnya, atau ubah ke yang lain. Sekali lagi, saya ingat bahwa untuk pengiriman ke Rosreestr di jendela ini tidak boleh lebih dari 1 sertifikat! Juga, atur semua pengaturan seperti yang ditunjukkan pada gambar:

Kami menandatangani. Setelah ditandatangani, file dengan ekstensi "sigO" akan ditambahkan ke daftar Anda. Ini adalah tanda tangan dari file tersebut. Tetap hanya mengunggah file tanda tangan atau semua file (sesuai kebijaksanaan Anda). Pilih apa yang ingin Anda unggah, dalam hal ini tiga file tanda tangan dan klik "Unggah". Itu seperti semua. Tapi seperti semua orang keju gratis ada nuansa kecil. Rosreestr bersumpah pada ekstensi file "sigO", jadi Anda memerlukannya di Explorer atau di mana saja manajer file ganti nama ekstensi dari "sigO" menjadi "sig" .

Tanda tangan program ini belum diverifikasi oleh situs web Rosreestr. Verifikasi tanda tangan telah dilakukan produk perangkat lunak yang berinteraksi dengan portal layanan publik dari Layanan Federal untuk Registrasi Negara, Kadaster dan Kartografi. Ketiga program yang memeriksa signature yang dijalankan oleh program ini memberikan hasil yang positif. Verifikasi dilakukan oleh program yang ditunjukkan di sini, GIS "Panorama", Crypto AWP dan program rencana Survei Tanah Poligon. Tanda tangannya juga telah diverifikasi. layanan daring verifikasi keaslian tanda tangan digital elektronik di situs.

Program lain untuk menandatangani dokumen dan file XML adalah . Anda dapat mengunduhnya dari situs web resmi program. Programnya sendiri cukup fungsional dan menarik, biayanya tidak mahal, hanya 1.200 rubel untuk 1 orang tempat kerja. Ada itu. dukungan dan bantuan yang diperluas. Informasi terlengkap dan terkini bisa didapatkan di. Baca juga tentang EDS di catatan

Tujuan mulia memuliakan aktivitas atas nama tujuan itu.K.Liebknecht

Artikel ini menjelaskan cara menandatangani dokumen (pdf, word, excel, xml, arsip) menggunakan EDS. Pertimbangkan perangkat lunak apa yang diperlukan untuk menandatangani dokumen menggunakan EDS, pro dan kontranya.

Cara menandatangani file dengan EDS

Ada dua program yang dapat digunakan untuk menandatangani file menggunakan EDS:

  1. ViPNet CryptoFile;
  2. CryptoARM.

ViPNet CryptoFile

Dengan menggunakan program ini, Anda dapat menandatangani file apa pun, misalnya: doc, xls, jpg, xml, txt, menandatangani deklarasi EDS, arsip. Setelah ditandatangani, file akan diakhiri dengan .sig

Kelebihan: program gratis yang membutuhkan pendaftaran di situs (dapatkan kuncinya di surel). Dimungkinkan juga untuk menggunakan tanda tangan terlampir pada file saat menandatangani file dengan EDS, mis. file dan kuncinya akan berada di file yang sama atau terpisah dari file.

Minus: saat menandatangani, Anda hanya dapat menambahkan satu tanda tangan elektronik;

Anda dapat menandatangani dokumen EDS klik kanan klik pada file dan pilih ViPNet CryptoFile -> Masuk ke menu ViPNet.

CryptoARM

Minus: perangkat lunak berbayar;

Kelebihan: Anda dapat menambahkan banyak tanda tangan ED saat menandatangani file.

Untuk menandatangani dokumen dengan EDS, Anda dapat mengklik kanan file tersebut dan memilih CryptoARM -> Masuk dari menu.

Cara menandatangani pdf dengan EDS

Jika Anda perlu menandatangani dokumen, misalnya untuk pajak, baca petunjuk di atas "Cara menandatangani file menggunakan EDS", tetapi jika Anda memerlukan tanda tangan dengan bagian yang terlihat di dokumen, bacalah petunjuk di bawah ini.

Untuk menandatangani dokumen pdf menggunakan EDS, perangkat lunak diperlukan.

Kelebihan: Tanda tangan elektronik terlihat di dokumen.

Minus: Biaya program (gratis 90 hari.)

Juga, Anda perlu menginstal Pembaca Akrobat DC atau Adobe Acrobat Pro.

Sebelum memasukkan tanda tangan elektronik dalam dokumen pdf, Anda perlu mengonfigurasi Acrobat Reader DC untuk bekerja dengan program CryptoPro PDF, untuk melakukan ini, tekan Ctrl + K di Acrobat Reader DC atau buka menu Editing -> Preferences, di kategori pilih Tanda Tangan -> di mana "Buat dan desain" klik Lebih detail lihat gambar:

Dalam "Metode penandatanganan default" pilih CryptoPro PDF seperti pada gambar:

Kami menandatangani dokumen pdf dengan EDS

Buka dokumen pdf -> di panel kanan, klik isi dan tandatangani

Di panel atas program Acrobat Reader, klik "Isi dan tandatangani" -\u003e "Alat tambahan"

Anda harus memilih alat Sertifikat untuk ditambahkan ke panel.

Setelah mengklik Sertifikat, alat "Tanda Tangan Digital" akan muncul di panel, klik di atasnya, lalu pilih dengan kursor area tempat kita ingin meletakkan tanda tangan digital, jendela dengan pilihan sertifikat akan muncul.

Pilih sertifikat -> OK -> Masuk.

Tanda tangan digital dalam pdf terlihat seperti ini:



Dokumen pdf kami ditandatangani, dengan cara yang sama Anda dapat membubuhkan beberapa tanda tangan dalam satu file pdf.

Cara menandatangani dokumen Word dengan EDS

Jika Anda perlu menandatangani dokumen dengan bagian tanda tangan yang terlihat di dokumen, baca instruksi di bawah ini, tetapi jika Anda perlu menandatangani dokumen kata dan mengirimkannya ke kantor pajak, misalnya, maka instruksi di atas “Bagaimana untuk menandatangani file menggunakan EDS” cocok untuk Anda.

Untuk menandatangani dokumen kata Dengan bantuan EDS, kami membutuhkan program CryptoPro Office Signature.

- perangkat lunak berbayar, digunakan untuk menandatangani dokumen Wort, Excel.

Setelah penginstalan, Anda dapat langsung mulai menandatangani dokumen Word dengan EDS, untuk ini kami membuka dokumen Word yang perlu ditandatangani dengan EDS -> menu Nilai -> di blok Teks, klik baris Tanda Tangan dan pilih baris Tanda Tangan (CRYPTO -PRO).

Misalkan Anda perlu memasukkan dua tanda tangan elektronik ke dalam dokumen Word, untuk ini kami melakukan operasi yang ditunjukkan di atas dua kali, tanpa tanda tangan. Karena setelah menandatangani dengan satu tanda tangan, dokumen tersebut menjadi tidak dapat diedit. Oleh karena itu, kami menyisipkan dua bidang untuk tanda tangan elektronik.

Setelah itu, Anda dapat menandatangani dengan mengklik salah satu tanda tangan, pilih EDS dan tanda tangani, lalu lakukan hal yang sama dengan tanda tangan kedua.

Dokumen kata yang ditandatangani secara digital terlihat seperti ini:


Cara menandatangani dokumen Excel menggunakan tanda tangan digital

Saya tidak akan mengulanginya sendiri, untuk menandatangani dokumen Excel menggunakan EDS, Anda perlu melakukan semuanya sama seperti untuk Word, lihat sedikit lebih tinggi.

Perhatian: Jika Anda perlu untuk menandatangani dokumen excel dengan bagian tanda tangan yang terlihat di dokumen, kemudian baca instruksi lebih lanjut "Cara menandatangani dokumen Word menggunakan EDS", jika Anda perlu menandatangani dokumen excel dan mengirimkannya ke kantor pajak misalnya, maka instruksinya di bagian atas halaman "Cara menandatangani file menggunakan EDS" cocok untuk Anda.

Cara menandatangani kontrak dengan EDS

Bergantung pada format pembuatan kontrak, baca artikel Cara menandatangani dokumen Word atau PDF di atas.

Cara menandatangani surat kuasa dengan EDS

Baca artikel di atas dan pilih opsi yang sesuai tentang cara menandatangani surat kuasa menggunakan EDS.

Pertanyaan:

Apakah mengedit file EDS yang ditandatangani diperbolehkan?

- Tidak, setelah menandatangani file, tidak mungkin untuk mengeditnya, misalnya, jika Anda mencoba mengedit teks yang ditandatangani di Word, maka semua tanda tangan akan dihapus.

Seperti apa bentuk dokumen yang ditandatangani EDS?

- Itu semua tergantung pada bagaimana Anda menandatangani dokumen. Jika dokumen ditandatangani seperti petunjuk di awal, file akan memiliki ekstensi .sig. Selain itu, file dan EDS dapat menjadi file terpisah, tergantung pada metode penandatanganan file.

Jika Anda menandatangani dokumen pdf, word atau excel menggunakan program khusus, tidak mungkin untuk membedakannya. Perlu untuk membuka dokumen dan sudah di dalam memastikan apakah ada tanda tangan atau tidak.

Pada salah satu proyek yang sedang berlangsung, tugas penandatanganan (menerapkan ES - tanda tangan elektronik) dokumen XML, yaitu paket SOAP, diselesaikan. Format yang disarankan adalah Standar OASIS 200401 dengan Profil Token Sertifikat X.509 . Dokumen-dokumen ini menjelaskan penggunaan format XML Digital Signature (XMLDSig) World Wide Web Consortium (W3C) dalam pesan SOAP. Tanda tangan XML, seperti jenis ES lainnya, mendukung autentikasi, integritas data, dan penolakan penandatanganan data.

Saya akan mencatat beberapa fitur format XMLDSig:

1. Objek penandatanganan tidak boleh seluruh dokumen XML, tetapi hanya bagiannya, mis. simpul tertentu. Menurut Standar OASIS 200401, objek yang akan ditandatangani adalah badan (node Tubuh) pesan SOAP.

2. Berbagai bagian dokumen XML dapat ditandatangani oleh lebih dari satu orang.

3. Tanda tangan XML dapat berada pada level yang berbeda terkait dengan objek yang ditandatangani:

  • struktur tanda tangan dapat berisi URI(pengidentifikasi sumber daya seragam);
  • Tanda tangan XML mungkin berada pada level yang sama dengan node yang ditandatangani;
  • Tanda tangan XML bisa berada di dalam node yang ditandatangani;
  • node yang akan ditandatangani mungkin berada dalam struktur tanda tangan XML.

4. Untuk memeriksa validitas ES, diperlukan akses ke objek penandatanganan.

Struktur Sampul SOAP

Secara umum, pesan terdiri dari header dan body: tajuk Dan Tubuh. tajuk berisi metadata, dan Tubuh data. Tanda tangan XML ditempatkan di sebuah node tajuk.

Algoritma kriptografi dan kanonikalisasi.

Untuk mengatasi masalah tersebut, kami menggunakan GOST R 34.11-94- Standar kriptografi Rusia untuk menghitung fungsi hash dan GOST R 34.10-2001- standar tanda tangan elektronik.

Karena fleksibilitas aturan komposisi XML, struktur dokumen yang sama dan informasi yang sama dapat diwakili oleh dokumen XML yang berbeda. Pertimbangkan dua dokumen:

Dari sudut pandang logis, keduanya setara, yaitu memiliki skema XML yang sama. Tetapi file XML dari daftar ini tidak berisi urutan karakter yang sama, yang akan menghasilkan hasil yang berbeda, misalnya saat mendapatkan nilai hash.

Untuk menghindari perbedaan tersebut, aturan pemformatan yang ketat dan persyaratan untuk konten pesan XML telah diadopsi. Proses membawa dokumen XML ke bentuk terpadu (kanonik) disebut kanonikalisasi(Kanonikalisasi Inggris). Contoh aturan dapat berupa penggunaan skema pengkodean tertentu (UTF-8), normalisasi nilai atribut, penggunaan tanda kutip ganda untuk nilai atribut, urutan atribut dan deklarasi namespace tertentu, dll. Ada beberapa jenis kanonikalisasi XML yang berbeda dalam komposisi aturan. Anda dapat membaca lebih lanjut tentang proses kanonikalisasi dalam spesifikasi resmi W3C (artikel berbahasa Rusia tentang topik ini dapat ditemukan dan)

Perpustakaan SIRCrypt

Untuk mengimplementasikan penandatanganan XML di DIRECTUM, perpustakaan COM ditulis, di dalamnya dijelaskan 3 kelas: Penggiling daging, Penandatangan Dan XMLCanonicalizer untuk mendapatkan hash, nilai ES, dan kanonikalisasi dokumen XML, masing-masing.

Perpustakaan membutuhkan Kripto PRO CSP(diuji pada versi Kripto PRO CSP 3.6.6497 KC2) Dan .BERSIH(minimal 2.0).

Mendaftarkan perpustakaan dilakukan dengan menjalankan perintah berikut:

> regasm.exe "jalur ke dll" / basis kode / tlb

Objek hasher untuk perhitungan hash menurut GOST

Berisi bidang isi (ketik "string") dan HashValueAsBase64 (ketik "string"), serta metode untuk menghitung nilai fungsi hash hash(). Untuk menghitung itu perlu berarti isi , panggil metode hash(), akibatnya di lapangan HashValueAsBase64 nilai fungsi hash akan ditulis di Base64.

Objek penanda untuk mendapatkan nilai ES menurut GOST

Berisi bidang isi (ketik "string"), ContainerName (ketik "string"), SertifikatAsPEM (ketik "string"), BESignatureValueAsBase64 (ketik "string"), metode Tanda(). Setelah objek diinisialisasi, itu harus isi (data untuk ditandatangani), ContainerName (nama wadah kunci pribadi sertifikat), panggil metode Tanda(). Kemudian di lapangan SertifikatAsPEM sertifikat yang sesuai dengan kunci privat akan berada di Base64, dan di lapangan BESignatureValueAsBase64 nilai tanda tangan sebagai string Base64.

Objek XMLCanonicalizer untuk kanonikalisasi XML

Berisi bidang Konten XML (ketik "string"), CanonicalXML (ketik "string"), metode C14NExc(). Untuk mendapatkan bentuk kanonis XML, Anda perlu mengartikannya Konten XML , panggilan C14NExc(), dapatkan hasil dari lapangan CanonicalXML .

Struktur Tanda Tangan XML

Membuat tanda tangan terlihat seperti ini: pertama, dasar dari paket sabun dibentuk, simpulnya tajuk Dan Tubuh. Tubuh diisi dengan data dan atribut ditambahkan wsu:ID="Tubuh"- pengenal data yang akan ditandatangani.

Pengisian struktur Keamanan terjadi dengan urutan sebagai berikut:

  1. Nilai hash diambil dari Body node dalam bentuk canonical dan ditempatkan di node DigestValue.
  2. Simpul SignedInfo direduksi menjadi bentuk kanonik, ditandatangani oleh EP. Hasil dalam format string Base64 masuk ke node Nilai Tanda Tangan.
  3. Kunci publik sertifikat yang ditandatangani ditempatkan di node Token Keamanan Biner dalam format string Base64.

Untuk memeriksa ES yang dihasilkan dengan cara ini, semua langkah harus dilakukan dalam urutan terbalik, yaitu:

  1. dapatkan bentuk kanonik elemen SignedInfo.
  2. Menggunakan hasil dari langkah sebelumnya, periksa apakah nilai EP dari node tersebut valid Nilai Tanda Tangan menggunakan kunci publik sertifikat. Pada tahap ini hanya kebenaran ES yang diperiksa, yang tidak menjamin kekekalan data.
  3. Jika pemeriksaan validitas ES berhasil, hash dari node dibandingkan DigestValue dan hash dari simpul data. Jika tidak sama, maka data yang ditandatangani telah diubah dan seluruh ES tidak valid.

Contoh penggunaan

Paket pengembangan dan pustaka

Contoh penandatanganan XML ke ISBL (script): dev.zip (5.95 Kb)

Untuk penggunaan permanen, kode yang melakukan penandatanganan umum dari amplop SOAP yang telah selesai dipindahkan ke fungsi tersebut Tanda SOAP().

Penandatanganan menggunakan sertifikat dari penyimpanan sertifikat pribadi pengguna saat ini.

Menurut undang-undang 218-FZ "Pada pendaftaran real estat negara", dokumen XML elektronik dan gambar dokumen yang dipindai harus ditandatangani tanda tangan elektronik berkualitas yang disempurnakan. Semua program dari seri "Polygon", "Polygon Pro", dan program "Signature Pro" ditandatangani dengan tanda tangan seperti itu.

Untuk tanda tangan:

    Mendapatkan kunci penandatanganan(sertifikat) di Otoritas Sertifikasi. Daftar pusat sertifikasi terakreditasi dipublikasikan di situs web Rosreestr (Daftar pusat sertifikasi). Anda bisa mendapatkan sertifikat di "Pusat Program" Pusat Sertifikasi LLC kami.

    Bersama dengan tanda tangan, beli dan instal program di komputer Anda CryptoProCSP (berisi standar tanda tangan Rusia yang diperlukan), yang juga dapat dibeli dari Pusat Program LLC Pusat Sertifikasi kami.

Program lain untuk penandatanganan tidak diperlukan: CryptoARM (Kemampuan CryptoARM dalam hal tanda tangan mirip dengan kemampuan program seri Polygon, Polygon Pro dan program Signature Pro).

Modul perangkat lunak platform Polygon Pro

Menandatangani dokumen elektronik dalam program Polygon Pro

Untuk menandatangani file XML, lakukan hal berikut:

  • Hasilkan dokumen elektronik tanpa kesalahan.


Anda dapat langsung menandatangani file XML di " Lihat XML”, untuk melakukan ini, pada bilah alat, klik tombol - "Tandatangani File XML".

  • Setelah mengklik, kotak daftar akan terbuka. sertifikat terpasang. Pilih salah satu yang Anda inginkan dan klik "OKE".

  • Program akan menandatangani dokumen utama dan menampilkan pesan sukses.

Di folder yang sama dengan file yang ditandatangani, file tanda tangan akan dibuat dengan nama yang sama, dengan ekstensi * .sig.

Tandatangani sekelompok file dalam program Polygon Pro

Program ini memiliki kemampuan untuk menandatangani sekelompok file secara bersamaan. Untuk melakukannya, lakukan hal berikut:

  • Di kaset modul perangkat lunak tab "Rumah" tekan tombol dan pilih dari submenu. Sebuah jendela akan terbuka dengan pilihan file proyek (secara default, semua file proyek dipilih).
  • Jika daftar berisi file yang tidak perlu Anda tanda tangani, hapus centangnya.

  • Klik tombolnya "Tanda". Sebuah jendela akan terbuka dengan daftar sertifikat yang diinstal. Pilih salah satu yang Anda inginkan dan klik "OKE".
  • Program akan menandatangani semua dokumen dan menampilkan pesan sukses.

    Jika kesalahan terjadi selama penandatanganan, log verifikasi akan ditampilkan dengan peringatan dan/atau kesalahan. Untuk penandatanganan yang benar, diperlukan untuk memperbaiki kesalahan.

    Tandatangani file di modul perangkat lunak platform Polygon Pro

    Program ini memiliki kemampuan untuk menandatangani file apa pun.

      Sebuah jendela akan terbuka dengan daftar sertifikat yang diinstal. Pilih yang Anda inginkan dan klik " OKE».

    • Program akan menyelesaikan penandatanganan dokumen dan menampilkan pesan sukses.

    Di folder yang sama dengan file yang ditandatangani, file tanda tangan akan dibuat dengan nama yang sama, dengan ekstensi *.sig.

    Periksa tanda tangan elektronik di program Polygon Pro

    Jika Anda menerima file yang ditandatangani dari luar dan ingin memeriksa apakah file tersebut telah dimodifikasi, atau hanya memeriksa kebenaran tanda tangan file yang dibuat, ikuti langkah-langkah berikut:

    • Di pita modul program di tab " rumah» di submenu tombol « Tanda tangani semua" tekan tombolnya " Memeriksa…».

    • Pilih file yang berisi tanda tangan (dengan ekstensi *.sig) untuk diverifikasi, atau file yang ditandatangani.

    Jika kedua file ini ada di folder yang berbeda, program akan menampilkan jendela peringatan. Klik tombolnya Mengulang» dan pilih file sumber.

    • Protokol akan terbuka dengan informasi apakah dokumen itu ditandatangani dengan benar, oleh siapa dan kapan.

    Program "Tanda Tangan Pro"

    Untuk interaksi yang nyaman dengan Otoritas Sertifikasi, manajemen sertifikat digital Dan kunci pribadi EP, serta untuk penandatanganan berbagai file Sebuah program dikembangkan dengan tanda tangan elektronik.

    Bagaimana cara menandatangani file dengan tanda tangan digital?

    Instruksi ini adalah contoh, langkah-langkah spesifik mungkin tergantung pada yang terinstal di komputer Anda. perangkat lunak. Bagian dari instruksi selesai pada Februari 2012, namun, program kami memberikan opsi yang lebih nyaman untuk menandatangani file dokumen elektronik tanda tangan elektronik berkualitas yang disempurnakan.

    Untuk menandatangani file dokumen elektronik: rencana tata batas, rencana peta, rencana teknis tanda tangan elektronik, Anda harus memverifikasi keberadaannya program yang diinstal:

      penyedia crypto "CryptoPro CSP";

      "ARM Kripto" - program ini diperlukan hanya ketika Anda tidak menggunakan program dari seri "Poligon", program ini dalam hal penandatanganan identik dengan program dari seri "Poligon", oleh karena itu tidak diperlukan; untuk menandatangani file dengan program dari seri "Polygon", lihat halaman instruksi sebelumnya; Anda dapat masuk dengan program seri Polygon dan dengan program CryptoARM, jika menurut Anda akan lebih nyaman daripada menggunakan kemampuan program seri Polygon yang ada;

    Setiap file (XML, pindaian dokumen cetak dan file aplikasi) harus ditandatangani, karena otoritas pendaftaran kadaster hanya menerima pasangan file: file asli dan file tanda tangan. Untuk menandatangani file, pilih di jendela explorer dan klik kanan (RMB), itu akan muncul menu konteks, di dalamnya Anda harus memilih item "CryptoARM", lalu " Tanda…».



    Kemudian pastikan nama file sudah benar



    Penting! atur sakelar ke " pengkodean DER”, tentukan folder untuk file keluaran sesuai kebijaksanaan Anda. Tekan tombolnya " Lebih jauh". Di jendela berikutnya, tetapkan parameter tanda tangan


    Di jendela ini, yang terpenting adalah mencentang kotak " Simpan tanda tangan di berkas terpisah ". Klik tombolnya Lebih jauh". Di jendela berikutnya, klik " Memilih»


    jendela pemilihan sertifikat akan terbuka


    pilih sertifikat kunci Anda di dalamnya (lihat berdasarkan nama pemiliknya). Setelah memilih, tekan tombol OKE" Dan " Lebih jauh". Di jendela terakhir sebelum menandatangani dokumen, klik tombol " Siap».

    Penting! Untuk setiap file, Anda perlu membuat file tanda tangan, karena hanya pasangan yang diterima: file asli (xml atau lainnya) + tanda tangannya (file sig).

Saya tidak dapat mencapai pemahaman yang sama tentang mekanisme penandatanganan dokumen xml. Saya akan berterima kasih atas bantuan untuk memahami)

Situasi saya adalah ini:

1) ada otoritas sertifikasi yang sertifikat yang diterbitkan ditempelkan ke server penyimpanan jendela.. untuk pribadi, terpercaya dan sebagainya.. bukan itu intinya.

Saat masuk ke aplikasi, pengguna menandatangani string yang dibuat secara acak dengan sertifikat pilihan mereka. Di server, tanda tangan ini diverifikasi:

CAPICOM.SignedData _signedData = new CAPICOM.SignedData(); _signedData.Verify(signedData, false, CAPICOM_SIGNED_DATA_VERIFY_FLAG.CAPICOM_VERIFY_SIGNATURE_AND_CERTIFICATE); if (_signedData.Content != data) throw new Exception("Konten yang ditandatangani tidak cocok dengan konten yang diterima"); var_certificate = _signedData.Sertifikat; // sertifikat pengguna

Beginilah cara kami mendapatkan sertifikat pengguna (kunci publik). Yang penting adalah bahwa tanda tangan hanya akan lulus verifikasi jika kunci publik sertifikat yang sesuai ada di server di penyimpanan sertifikat. Ini yang kami butuhkan, biarkan hanya mereka yang sertifikatnya kami keluarkan sendiri) Sepertinya jelas di sini.

2) sekarang pengguna yang sama harus menandatangani xml dengan sertifikat mereka. Perangkat lunak saya di klien membuat xml itu sendiri dan menandatanganinya dengan sertifikat yang ditentukan pengguna:

Public static void SignXml(XmlDocument xmlDoc, /*RSA*/AsymmetricAlgorithm Key) ( SignedXml signedXml = new SignedXml(xmlDoc); signedXml.SigningKey = Kunci; Referensi referensi = Referensi baru(); referensi.Uri = "";//tanda tangan seluruh dokumen xml XmlDsigEnvelopedSignatureTransform env = new XmlDsigEnvelopedSignatureTransform(); reference.AddTransform(env); signedXml.AddReference(reference); KeyInfo keyInfo = new KeyInfo(); keyInfo.AddClause(CryptService.GetKeyInfoClause(Key)); // RSA atau GOST signedXml.KeyInfo = keyInfo; signedXml.ComputeSignature(); XmlElement xmlDigitalSignature = signedXml.GetXml(); xmlDoc.DocumentElement.AppendChild(xmlDoc.ImportNode(xmlDigitalSignature, true)); )

XmlDocument doc = new XmlDocument(); doc.PreserveWhitespace = true; doc.Load(jalur); SignedXml sx = new SignedXml(doc); XmlNodeList nodeList = doc.GetElementsByTagName("Tanda Tangan"); sx.LoadXml((XmlElement)nodeList); kembali sx.CheckSignature();

Kode berfungsi, tetapi saya memiliki pertanyaan dengan pemahaman: dalam hal ini, Anda dapat menandatangani xml dengan sertifikat apa pun yang tidak dikeluarkan oleh CA kami, dan karena informasi kunci publik disimpan dalam xml yang ditandatangani itu sendiri, tanda tangan diverifikasi. Pilihan ini tidak bekerja untuk saya. Metode CheckSignature memiliki kelebihan dengan parameter tipe AsymmetricAlgorithm yang akan memeriksa keberadaan sertifikat penandatanganan di toko, memeriksa validitasnya, periode validitas, dan sebagainya. Inilah yang saya butuhkan, tetapi saya tidak tahu sebelumnya pengguna mana yang mengirim xml yang ditandatangani.

Tolong beri tahu saya: bagaimana cara memeriksa tanda tangan xml atau cara membuatnya dengan benar sehingga hanya file xml yang hanya ditandatangani oleh sertifikat kami (yang dipasang di toko) yang lolos verifikasi tanda tangan?

Nb. dan apa gunanya menyimpan tanda tangan itu sendiri dan kunci publik untuk mendekripsi tanda tangan di xml? Jika Anda menghapus baris signedXml.KeyInfo = keyInfo; , maka verifikasi tanda tangan xml gagal.



Memuat...
Atas