Stasiun kerja kriptografis berdasarkan token PKCS # 11. Tanda tangan elektronik. Bagian 2

Pada bagian pertama dari cerita kami, kami menunjukkan bagaimana, di tangan kami memiliki token kriptografi dengan dukungan untuk kriptografi Rusia, membuat permintaan untuk sertifikat, memperoleh dan memasang sertifikat untuk token, memverifikasi tanda tangan elektronik sertifikat dan validitasnya terhadap daftar sertifikat yang dicabut (CRL), menghapus sertifikat dari token, ganti label, dll. Setelah membuat permintaan sertifikat (telah menghasilkan pasangan kunci), menerima sertifikat di CA dan menetapkannya sebagai token, tidak ada yang menghalangi sekarang menggunakan sertifikat pribadi (sertifikat dengan pasangan kunci) untuk penandatanganan dokumen secara elektronik. Mari kita mulai. Pertama, ingat di mana utilitas cryptoarmp11 berada.


Selanjutnya, jalankan utilitas dan klik tombol "1. Sign the document":



Kami memilih file dengan dokumen yang ingin kami tandatangani dan memutuskan direktori tempat kami menyimpan file dengan tanda tangan (akhir nama file ini adalah .p7s). Kami memutuskan apakah dokumen yang ditandatangani itu sendiri akan disimpan di badan tanda tangan atau tidak (tanda tangan terlampir / terputus). Dan yang paling penting, kami menentukan format tanda tangan. Menurut pendapat saya, Anda dapat mematuhi aturan berikut. Jika ini adalah aliran dokumen perusahaan internal, di mana kontrol ketat terhadap komputer dilakukan, maka itu cukup menggunakan format tanda tangan CAdes- BES, yang mencakup, selain tanda tangan matematika, sesuai dengan GOST R 34.10-2012 dan waktu pembuatan tanda tangan (bidang Waktu Saat Ini). Jika tidak ada kontrol ketat terhadap komputer (semua orang dapat mengatur waktu kapan saja di komputer mereka), dan tanggal penandatanganan dokumen itu penting, maka Anda harus menggunakan format CAdes-T atau CAdes-XLT1. Saat menggunakan format CAdes-T dan CAdes-XLT1, sisi eksternal terlibat (mirip dengan menarik natarius) - server cap waktu. Dengan format CAdes-T, respons server cap waktu ditambahkan ke file dengan tanda tangan elektronik (lihat bidang "TSP server"). Jawaban ini (dan ini juga merupakan dokumen dalam format PKCS # 7, ditandatangani oleh server TSP) memungkinkan Anda untuk menentukan pada titik waktu kapan dokumen itu ditandatangani. Harus diingat bahwa seringkali hanya tanda tangan matematika yang diverifikasi, dan validitas tanda tangan itu sendiri dengan perangko waktu dihilangkan. Untuk memverifikasi validitas tanda tangan, tentu saja, verifikasi validitas sertifikat diperlukan. Jadi, untuk menyederhanakan pekerjaan ini, format tanda tangan CAdes-XLT1 menyiratkan penyertaan dalam file tanda tangan dari semua bukti validitas tanda tangan pada saat pembuatannya. Ini adalah sertifikat, termasuk sertifikat CA, server waktu, server ocsp, serta daftar sertifikat yang dicabut dan tanggapan dari server OCSP. Kami tidak akan memikirkan ini. Siapa yang mau mencari literatur yang sesuai.

Jadi, kami memutuskan format tanda tangan dan mengeklik tombol "Tandatangani dokumen". Selanjutnya, kita perlu memasukkan kode PIN lain untuk token, maka akan muncul peringatan tentang awal pembentukan tanda tangan dan kebutuhan untuk bersabar dan, akhirnya, tanda tangan akan dibuat:



Apa yang diperlukan untuk membuat tanda tangan? Ini, tentu saja, adalah perhitungan matematis sendiri dan pengumpulan berbagai data (sertifikat, CRL, respons server OCSP, stempel waktu). Semuanya, tanda tangan dibuat. Setelah menerima sertifikat di CA, pastikan untuk mengetahui alamat server cap waktu CA Anda. Jika tautan ke sertifikat otoritas sertifikasi ( rantai sertifikat), ke daftar sertifikat yang dicabut, serta server OCSP diambil dari sertifikat, maka alamat server cap waktu harus dimasukkan secara manual (bidang "TSP Server").

Cara memastikan bahwa tanda tangan dibuat dengan benar dan dokumen dapat ditransfer ke kasing. Di Internet Anda dapat menemukan berbagai situs untuk memverifikasi tanda tangan. Beberapa dari mereka hanya memeriksa tanda tangan yang terputus, yang lain memeriksa semuanya dan menginformasikan dengan baik:



Tetapi dalam kedua kasus, ini tidak menjamin Anda bahwa tanda tangan Anda akan diterima di organisasi tempat Anda menyajikan dokumen yang ditandatangani, misalnya, di situs web Layanan Negara. Hal ini disebabkan oleh fakta bahwa dengan cara yang berbeda bukti validitas tanda tangan dalam format XLT1 dapat disimpan dan diverifikasi. Jadi, misalnya, di situs web Layanan Negara, diperlukan bahwa bukti keabsahan sertifikat server waktu disimpan dalam tanda tangan yang diterima dari server. Dan jika mereka tidak ada di sana, maka, meskipun fakta bahwa mereka dapat hadir dalam tanda tangan dokumen, tanda tangan di situs web Layanan Negara akan batal. Semuanya baik-baik saja dengan tanda tangan kami:



Kami pergi ke halaman "2. Bekerja dengan ES (PKCS7)" dan segera pilih file dengan tanda tangan yang dibuat:



Saat memuat tanda tangan, utilitas mengisi kolom yang sesuai di jendela utama. Tangkapan layar menampilkan ini dengan baik. Ini menunjukkan ketika tanda tangan dihasilkan di komputer pengguna (bidang "Tanggal Penandatanganan:"), ketika tanggal ini diverifikasi pada server cap waktu (bidang "Tanggal penerimaan cap waktu") dan ketika semua bukti validitas dikumpulkan (bidang "Tanggal persetujuan label" waktu ”).

Operasi apa yang dapat dilakukan pada tanda tangan juga jelas. Yang paling menarik di sini adalah penambahan tanda tangan ke dokumen yang ditandatangani sebelumnya. Untuk melakukan ini, cukup pilih sertifikat untuk menambahkan tanda tangan baru (analog dari vising dokumen) dan jangan lupa memilih server TSP:



Dan jika Anda melihat siapa yang menandatangani dokumen, maka sekarang ada dua penandatangan. Dan kedua tanda tangan berhasil diverifikasi di situs web layanan publik:



Menurut pendapat saya, utilitas sesuai dengan aspirasi memiliki utilitas untuk menandatangani dokumen, memiliki "sertifikat pada token dengan kunci yang tidak dapat dipulihkan sehingga mereka dapat membaca semuanya sendiri."

Namun, kami memutuskan untuk melangkah lebih jauh dan memasukkan ke dalam utilitas ini sebuah halaman untuk bekerja dengan wadah PKCS # 12 , yang semakin populer. Dan jika sekarang untuk menandatangani dokumen, Anda memerlukan token PKCS # 11 dan perpustakaan untuk itu, maka ketika menggunakan PKCS # 12 Anda hanya perlu wadah itu sendiri. Dan tentu saja utilitas yang kita bicarakan hari ini. Tetapi utilitas ini benar-benar swasembada dan, tidak seperti berbagai CSP, tidak menambal kernel apa pun dan berfungsi pada platform apa pun. Karena itu, kami beralih ke bagian ketiga .

Source: https://habr.com/ru/post/id457288/


All Articles