
Pekerjaan utama saat membuat utilitas
cryptoarmpkcs bukanlah pengembangan kode atau antarmuka grafis, tetapi pekerjaan dengan struktur
ASN1 . Dalam struktur inilah sertifikat x509v3, tanda tangan dokumen elektronik (PKCS # 7, CMS), permintaan sertifikat (PKCS # 10, CSR), kunci publik dan pribadi, wadah aman PKCS # 12 / PFX, daftar sertifikat CRL yang dicabut dan stempel waktu disimpan untuk tanda tangan elektronik, permintaan dan tanggapan OCSP dan sebagainya. Secara konstan harus melihat melalui struktur yang ada untuk memahami bagaimana orang lain melakukannya, melihat melalui struktur AN1 yang baru saja
dirakit oleh kita sendiri. Prosesnya jelas. Tetapi karena saya bekerja di Linux (sekarang ini Mageia, dan saya juga menyiapkan kode untuk Windows di Linux), utilitas
openssl dan derdump dari paket
NSS ada di tangan dari alat yang tersedia untuk mengurai struktur ASN1. Secara pribadi, preferensi saya ada di pihak derdump. Dialah yang menjadi prototipe utilitas
derdump.tcl / tclderdump dipertimbangkan di sini untuk melihat struktur ASN1. Dan jika Anda membandingkan output dari utilitas derdump dari paket NSS dan utilitas derdump.tcl, maka Anda tidak akan melihat perbedaan:

Perbedaan terkait dengan nama oid. Utilitas memiliki sintaks berikut:
$dertcl.tcl < > < | stdout> <1 | 0> <der | pem | hex>
dimana
- <input file> - menunjukkan jalur ke file dengan struktur ASN1;
- <file output> - menunjukkan file di mana hasil analisis akan disimpan: jika stdout ditentukan sebagai file output, hasilnya akan dikirim ke output standar;
- parameter ketiga menunjukkan bahwa perlu untuk menampilkan informasi lengkap (1);
- parameter keempat menetapkan format file input, di mana der adalah file biner, pem menunjukkan bahwa file tersebut berisi data yang disandikan base64 dengan tajuk "----- BEGIN ... -" dan trailer "----- AKHIR ... -" seperti biasa di openssl, dan akhirnya hex mengatakan file tersebut berisi kode heksadesimal. Selain itu, mungkin berisi karakter khusus (\ r, \ n, \ t), spasi dan karakter "." dan ":". Dari mana simbol titik dan titik dua berasal akan menjadi jelas di bawah ini.
Format hex sangat penting bagi saya. Memang, untuk mem-parsing setiap bagian dari file yang diurai, Anda harus menerjemahkannya ke dalam bentuk biner (der-coding) dan kembali meneruskannya melalui utilitas. Format hex membuat hidup lebih mudah.
Tentu saja, menggunakan kode tcl murni (serta menggunakan kode skrip lain, misalnya python) tidak sepenuhnya nyaman. Oleh karena itu, utilitas dibingkai dalam distribusi
tclderdump untuk platform Linux, Windows dan OS X. Distribusi ini mandiri: Anda unduh dan jalankan.
Tetapi kembali ke kemampuan untuk melihat struktur ASN1 yang disimpan dalam heksadesimal. Selain utilitas yang disebutkan di atas untuk melihat struktur ASN1, ada juga utilitas
pyderasn yang baik yang ditulis dalam Python, yang menggunakan karakter titik dan kolon dalam output, dan diputuskan bahwa mereka juga dapat hadir dalam kode heksadesimal. Berikut ini adalah hasil penguraian sertifikat x509 v.3 yang sama dengan derdump.tcl dan utilitas pederasn:

Tapi saya ingin lebih, yaitu antarmuka grafis dan kemampuan untuk mengurai blok internal dengan cepat. Diputuskan untuk menambahkan fungsionalitas ini ke utilitas cryptoarmpkcs, terutama karena banyak yang harus dikembangkan, misalnya, mengenkripsi dokumen pada sertifikat penerima. Dan di sini lagi Anda tidak dapat melakukannya tanpa struktur ASN1 penampil.
Untuk tujuan ini, diputuskan untuk mengubah orientasi tombol fungsi "Informasi Token". Kami mengarahkan ulang tombol dan menetapkan fungsi baru "Lihat struktur ASN1" untuknya, dan Anda
masih bisa mendapatkan informasi tentang token yang terhubung
dengan memindahkan kursor ke nama token di sebelah kanan label "Choose token / smartcard":

Semuanya sederhana di sini. Kami memilih file dengan struktur ASN1, menunjukkan dalam format apa itu, memutuskan apakah kami memerlukan detail tambahan dan klik tombol "Lihat file ASN1":

Membandingkan tangkapan layar kanan dan kiri, Anda secara pribadi dapat melihat informasi tambahan apa yang dapat diperoleh ketika tombol "Informasi Tambahan" ditekan. Untuk menyimpan struktur dalam bentuk yang dibongkar, cukup klik tombol "Simpan".
Jika Anda menahan tombol kiri mouse, Anda dapat memilih blok yang menarik bagi kami. Dan, jika sekarang di blok yang dipilih, tekan tombol mouse kanan, menu akan muncul dengan item berikut:
- salin ke papan klip;
- lihat blok yang disorot.
Dan jika Anda memilih item "Lihat blok yang dipilih", sebuah jendela dengan blok yang diuraikan akan muncul:

Jika Anda mengklik tombol "salin ke clipboard", blok yang dipilih akan disalin ke clipboard. Clipboard dapat dilihat dengan mengklik tombol "ASN1-clipboard". Pengguna dapat memasukkan data ke clipboard dengan dana sendiri, dan kemudian melihatnya di sini.
Dan karena utilitas sering diperbarui, kemampuan untuk mendapatkan versi baru dari utilitas tersebut secara langsung telah ditambahkan. Untuk melakukan ini, cukup gerakkan kursor mouse ke atas bidang "PKCS # 11, x509v3, PKCS # 10, PKCS # 7, CMS, PKCS # 12, ASN1", tekan tombol kanan mouse dan pilih "Tentang program" pada menu yang muncul. Di jendela yang muncul, cukup pilih platform dan tekan tombol kiri mouse:

Setelah berhasil menerima kit distribusi, Anda akan menerima pesan yang sesuai tentang di mana arsip yang diterima disimpan:

PS Bagi yang ingin mendapatkan utilitas untuk pertama kali, ini masih bisa dilakukan di sini:
Distribusi untuk Linux, OS X dan Windows