Herpiko Dwi Aguno - PKIWebSDK : Pustaka JavaScript untuk aplikasi PKI berbasis HTML5

Post on 13-Feb-2017

157 views 3 download

Transcript of Herpiko Dwi Aguno - PKIWebSDK : Pustaka JavaScript untuk aplikasi PKI berbasis HTML5

PKI WebSDK

●herpiko@blankon.id●Koordinator Riset di proyek BlankOn●KodeKreatif●Mahasiswa STT NF Depok

Tentang

Teknologi (relatif) baruBelum didukung penuh semua perambanBelum stabil (masih bisa berubah)

Web Cryptography API

●Enkripsi/dekripsi data●Penandatanganan/verifikasi data

menggunakan tanda tangan digital●Verifikasi identifikasi●Interoperabilitas●Aplikasi berbasis web

Kebutuhan

http://caniuse.com/#feat=cryptography

AlternatifWebCrypto GOST (Apache2)Forge (BSD/GPL)PKI.js (BSD)

Tujuan PKI WebSDK KominfoMemudahkan pengembangan aplikasi bersertifikat digitalMemudahkan integrasi aplikasiKeseragaman aplikasi

langsung menggunakan CA Kominfosesuai standar/konvensi internasional

Berorientasi klien, bukan klien-serverdata sensitif tetap berada di komputer klien

Memungkinkan keseragaman

Forge vs PKI.js

Isi PKI WebSDK KominfoDokumentasi pemrogramanContoh programPustaka siap pakaiAPI JavaScriptUnit Testing + Code Coverage

Kapabilitas●Pembuatan kunci privat dan publik●Pembuatan permintaan sertifikat (CSR)●Penandatanganan berkas generik dan PDF●Verifikasi berkas generik dan PDF●Enkripsi/dekripsi berkas generik●Impor/ekspor data

PEM, CRT, KEY, P8, DER, P12, P7

API

PKI WebSDK( bundle.js )

WebCrypto

PDF.js Forge

App App App

Kompetensi pengguna PKI WebSDK●JavaScript●HTML●CSS

API PKI WebSDKJavaScript ES6/Promise

fungsi(parameter).then(function(result) {

…..}).catch(function(err) { ...})

fungsi(parameter).then(function(result) {

…return fungsi2(parameter)

}).then(function(result) {

...return fungsi3(parameter)

}).then(function(finalResult) {

...}).catch(function(err) { ...})

fungsi(parameter, function(err, result){if (err) {// Handle error

}fungsi2(parameter, function(err, result){

if (err) {// Handle error

}fungsi3(parameter, function(err, finalResult){

if (err) {// Handle error

}})})})

Callback Hell

1.Masukkan CSS<link rel="stylesheet" href="style.css">

3 Langkah Mudah API PKI WebSDK

2. Masukkan skrip bundle.js<script src="bundle.js"></script>

3 Langkah Mudah API PKI WebSDK

3. Mulai menggunakan APIPKIWebSDK.Key.parsePEM(pem, “SHA-256”)

.then(function(result) {// ...

}).catch(function(error) { //...})

3 Langkah Mudah API PKI WebSDK

Demo

Komponen API PKI WebSDK- window.PKIWebSDK.Key- window.PKIWebSDK.Certificate- window.PKIWebSDK.PDF- window.PKIWebSDK.SignedData- window.PKIWebSDK.EncryptedData- window.PKIWebSDK.Utils- window.PKIWebSDK.UI- window.PKIWebSDK.private.forge

Contoh kasusimplementasi

Lisensi

Kontribusi

https://gitlab.com/rootcaid/kominfo-pki-websdk

Pohon-pohon kita di Kalimantan

Tanya Jawab

Terima kasih