Daftar Isi
- Kelebihan dan Kekurangan Dua Tanda Tangan Elektronik (TTE)
- TTE Berkas Elektronik dengan Sertifikat Digital (Self Signed) - SSL
- |-APK Signing
- |-Membuat Root CA dan Sertifikat (Self Signed) - SSL
- |--Root CA
- |--Penjadwalan Generate CRL
- |--Membuat FDF - SSL
- |--Installer Root CA di Windows
- |--Sertifikat SSL
- |-Output - SSL
- TTD QR
- Buat QR Code (Client Side)
- Pemasangan Root CA (1 kali saja)
TTD QR
Kode Sumber dapat di unduh melalui tautan https://github.com/basit-adhi/tandatanganelektronikqr
Tanda tangan elektronik berbasis QR Code. Verifikasi ke suatu alamat di alamat resmi institusi.
|-Instalasi (Server Side)
|–Skema (Basis Data)
- Buat skema dengan user dan password berbeda dengan user skema lain
- Grant privileges ALL hanya untuk user tersebut ke skema baru tersebut
- Dump tte.sql
- Ubah privileges menjadi DELETE,EXECUTE,INDEX,INSERT,’LOCK TABLES’,SELECT,UPDATE,TRIGGER
- Ubah nilai yang ada pada
- stored procedure _secret_passphrase() dengan nilai dari https://www.avast.com/random-password-generator
- stored procedure _vector() dengan nilai dari select lower(concat(“0x”, hex(random_bytes(16)))) as new_vector
|–API
- Salin *.php ke dalam folder yang berbeda dengan folder web-server lain, misalnya: /home/user/apitte
- Atur open_basedir ke folder tersebut (https://pdsi.unisayogya.ac.id/move-on-mpm-prefork-ke-mpm-event-sebuah-catatan/#php-n-pool)
- Ubah nilai yang ada pada config.php dan db.php
- Buat pepper baru menggunakan https://www.avast.com/random-password-generator. Isi $pepper_ dengan pepper baru tersebut.
- Buat password baru kemudian dicatat di suatu tempat. Bcrypt password tersebut. Isi $pass_ dengan bcrypt dari password baru tersebut.
- chmod *.php dan *.ini menjadi 0400
- Apabila terdapat .htaccess (tidak disarankan), maka chmod .htaccess menjadi 0444 (baca https://pdsi.unisayogya.ac.id/lebih-baik-apache2-conf-daripada-htaccess/)
Buat QR Code (Client Side)
<?php
$data = [ "pass" => urlencode("$pass_ di config.php sebelum di-bcrypt"),
"keterangan" => urlencode("Dokumen ini ditandangani oleh Mr Fulan pada tanggal 1 Januari 2021. Perihal: Surat Kenaikan Tunjangan."),
"checksum" => urlencode("")
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://example.com/create");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "ps=".$data["pass"]."&tx=".$data["keterangan"]."&cs=".$data["checksum"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = json_decode(curl_exec($ch));
curl_close ($ch);
if(is_array($response))
{
if ($response["status"] == "success")
{
//tampilkan url ke dalam bentuk QR Code
echo '<img src="https://chart.googleapis.com/chart?chs=150x150&cht=qr&chl='.urlencode($response["message"]).'&choe=UTF-8" loading="lazy" />';
//simpan url ke dalam skema (basis data)
//...
$stmt = $conn->prepare("update tabel set tandatangan=? where id=?");
$stmt->bind_param("si", $response["message"], $primarykey);
$stmt->execute();
//...
//selanjutnya tinggal menggunakan tandatangan yang sudah disimpan tadi
//...
$stmt = $conn->prepare("select tandatangan from tabel where id=?");
$stmt->bind_param("i", $primarykey);
$stmt->execute();
//...
}
}
- Kelebihan
- Dapat digunakan untuk verifikasi ketika berkas dicetak
- Verifikasi terpercaya karena membuka web resmi institusi penerbit QRCode
- Kekurangan
- Dapat digunakan untuk verifikasi berkas elektronik dengan checksum (tidak langsung), tetapi harus menambah 1 berkas tambahan yang berisi tanda tangan serta checksum (baca: https://pdsi.unisayogya.ac.id/alur-tanda-tangan-elektronik-ta_skripsi_tesis_desertasi-dan-naskah-publikasi/)
One reply on “Tanda Tangan Elektronik (TTE) Mandiri”
[…] Proses melakukan tanda tangan digital dapat dibaca di https://pdsi.unisayogya.ac.id/tanda-tangan-elektronik-tte-mandiri/ […]