pembuatan tanda tangan digital dengan menggunakan os linux dengan menggunakan aplikasi openssl , firefox dan libreoffice untuk autentifikasinya.
applikasi yang digunakan : openssl
- buat CA (Certificate Authority)
- buat permintaan autentifikasi dengan membuat file *.key dan *.csr
mkdir CAmkdir CA/certsmkdir CA/newcertsmkdir CA/crl
touch index.txtecho 0000 > index
openssl genrsa -des3 -passout pass:12345678 -out CA.key 2048
openssl rsa -passin pass:12345678 -in CA.key -out CA.key
setelah membuat file key kita buat CA root yang akan menghasilkan file CA.crt nya:
openssl req -x509 -new -key CA.key -out CA.crt -days 365
selanjutnya setelah file CA.key berhasil dibuat sekarang setting file config untuk CA dengan mengedit file yang telah kita copy dari openssl config :
edit file openssl.cnf yang berada di dalam folder CA yaitu:
dir = ./CA (folder ca disimpan)
certificate = $dir/CA.crt
private_key = $dir/CA.key
default_md = sha256 (ini adalah jenis enskripsi yang akan digunakan)
policy = policy_anything
setelah mengedit config kita telah memiliki folder yang didalamnya file CA dan selanjutnya kita akan menanda tangani permintaan (*csr) dari client. sebelumnya buat csr dari client terlebih dahulu (cara dibawah)
(masih dalam folder CA)
openssl ca -config openssl.cnf -in client.csr
openssl pkcs12 -export -in newcerts/00.pem -inkey /path/key/client.key -certfile CA.crt -out newcerts/client.p12
jika berhasil akan menghasilkan file client.p12 di folder newcerts itulah diimport di certifikat manager (apabila sign dengan libreoffice maka import sertifikat p12 tersebut dengan menggunakan mozilla firefox pada certificate managernya di bagian tab "your certificates"
membuat CSR untuk client (membuat csr)
pada dasarnya sama dengan membuat CA yaitu membuat file *.key terlebih dahulu selanjutnya membuat file *.csr (certificate sign request) :
buat folder terlebih dahulu agar file yang akan dibuat bisa terkumpul dengan baik:
contoh buat folder client
selanjutnya buat key:
openssl genrsa -des3 -passout pass:12345678 -out client.key 2048
atau:
openssl genrsa -out client.key 4096
selanjutnya buat file csr dari file key tersebut
openssl req -config openssl.cnf -new -subj '/C=ID/O=tes aja/CN=namaclient' -key /path/key/client.key -out client.csr
atau :
openssl req -new -key client.key -out client.csr
openssl x509 -req -in fabrikam.csr -CA contoso.crt -CAkey contoso.key -CAcreateserial -out fabrikam.crt -days 365 -sha256
openssl x509 -in client.crt -text -noout