Saya memberikan suara untuk menutup pertanyaan ini sebagai di luar topik karena ini menyangkut penggunaan perangkat lunak kriptografi tertentu.
Jawaban:
9
pkeyutl -signdengan kunci RSA (dan rsa_padding_modedefault ke pkcs1yang secara spesifik berarti pkcs1-v1_5) DAN -pkeyopt digest:$hashmelakukan langkah 2-6 EMSA-PKCS1-v1_5-ENCODE di bagian 9.2 dari rfc3447, kemudian langkah 2 dari RSASSA-PKCS1-v1_5-SIGN di bagian 8.2. Dengan kata lain ia melakukan segalanya kecuali hash data (tetapi ia memeriksa panjang hash input). Perhatikan bahwa jika nama hash yang Anda tentukan di sini berbeda dari hash yang sebenarnya Anda gunakan, tanda tangan yang dihasilkan tidak akan memverifikasi dengan benar.
rsautl -sign(sama-sama default) tidak hanya langkah 4-6 dan langkah 2. Dengan kata lain, itu TIDAK menambahkan ASN.1 AlgorithmIdentifier encoding ke hash mentah, jadi Anda perlu melakukannya sendiri jika Anda ingin tanda tangan Anda dipahami dan diterima oleh orang lain. pkeyutl -signTANPA -pkeyopt digestjuga melewatkan pengkodean ASN.1.
Untuk kelengkapan, dgst -$hash -signatau bentuk $hash -signsingkatnya dengan kunci RSA melakukan seluruh pekerjaan: hash, ASN.1 encode, pad 01FF..00, dan modexp.
Jawaban:
pkeyutl -sign
dengan kunci RSA (danrsa_padding_mode
default kepkcs1
yang secara spesifik berarti pkcs1-v1_5) DAN-pkeyopt digest:$hash
melakukan langkah 2-6 EMSA-PKCS1-v1_5-ENCODE di bagian 9.2 dari rfc3447, kemudian langkah 2 dari RSASSA-PKCS1-v1_5-SIGN di bagian 8.2. Dengan kata lain ia melakukan segalanya kecuali hash data (tetapi ia memeriksa panjang hash input). Perhatikan bahwa jika nama hash yang Anda tentukan di sini berbeda dari hash yang sebenarnya Anda gunakan, tanda tangan yang dihasilkan tidak akan memverifikasi dengan benar.rsautl -sign
(sama-sama default) tidak hanya langkah 4-6 dan langkah 2. Dengan kata lain, itu TIDAK menambahkan ASN.1 AlgorithmIdentifier encoding ke hash mentah, jadi Anda perlu melakukannya sendiri jika Anda ingin tanda tangan Anda dipahami dan diterima oleh orang lain.pkeyutl -sign
TANPA-pkeyopt digest
juga melewatkan pengkodean ASN.1.Untuk kelengkapan,
dgst -$hash -sign
atau bentuk$hash -sign
singkatnya dengan kunci RSA melakukan seluruh pekerjaan: hash, ASN.1 encode, pad 01FF..00, dan modexp.sumber