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

27
PKI WebSDK

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

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

PKI WebSDK

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

[email protected]●Koordinator Riset di proyek BlankOn●KodeKreatif●Mahasiswa STT NF Depok

Tentang

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

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

Web Cryptography API

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

●Enkripsi/dekripsi data●Penandatanganan/verifikasi data

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

Kebutuhan

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

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

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

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

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

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

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

Memungkinkan keseragaman

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

Forge vs PKI.js

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

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

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

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

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

API

PKI WebSDK( bundle.js )

WebCrypto

PDF.js Forge

App App App

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

Kompetensi pengguna PKI WebSDK●JavaScript●HTML●CSS

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

API PKI WebSDKJavaScript ES6/Promise

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

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

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

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

…return fungsi2(parameter)

}).then(function(result) {

...return fungsi3(parameter)

}).then(function(finalResult) {

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

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

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

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

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

3 Langkah Mudah API PKI WebSDK

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

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

3 Langkah Mudah API PKI WebSDK

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

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

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

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

3 Langkah Mudah API PKI WebSDK

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

Demo

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

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

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

Contoh kasusimplementasi

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

Lisensi

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

Kontribusi

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

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

Pohon-pohon kita di Kalimantan

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

Tanya Jawab

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

Terima kasih