3.14.2008

Prerequisite EJBCA

Di postingan sebelumnya disebutkan beberapa persyaratan sebelum menggunakan EJBCA. Pada postingan ini akan dijelaskan cara mensetup environment tersebut.

Instalasi JDK
  1. Download http://java.sun.com/j2se/1.4.2/download.html
  2. extract ke folder; misal C:\ dan hasil extract adalah C:\jdk1.5.0_11
  3. set JAVA_HOME ke folder tersebut dan tambahkan path binary JDK pada variabel Path Windows
Instalasi JBoss.
  1. Download JBoss application server dari http://labs.jboss.com/jbossas/downloads/
  2. extract ke folder; misal di folder C:\ dan hasil extract folder direname menjadi C:\jboss
  3. Tambahkan variable environment JBOSS_HOME dengan folder tersebut, dan tambahkan Path untuk JBOSS_HOME/bin
  4. Pastikan instalasi dan setting Java benar, check dengan melihat environment JAVA_HOME (ketik ECHO %JAVA_HOME% dari command line) dan versi java yang digunakan (ketik "java -version" dari command line)
  5. testing instalasi dengan perintah "run -c all"
  6. Cek browser dan pointing ke http://localhost:8080/
Instalasi Unlimited Strength Jurisdiction Policy Files untuk JDK
  1. Download dari http://java.sun.com/j2se/1.4.2/download.html di sektor "Other"
  2. Extract ke folder temporary
  3. Pindahkan file local_policy.jar dan US_export_policy.jar ke lib/security di direktori jre pada JAVA_HOME
Instalasi Ant
  1. Download dari http://ant.apache.org/bindownload.cgi
  2. extract ke folder misalkan C:\ dan hasil extract adalah C:\apache-ant-1.7.0
  3. Tambahkan variable environment ANT_HOME dengan forder tersebut, kemudian tambahkan path bin ant ke variabel Path

referensi: http://java.sun.com, http://ant.apache.org, http://www.jboss.org

Instalasi EJBCA

EJBCA adalah Certificate Authority yang dibangun di atas Java (J2EE).

Yang diperlukan untuk menjalankan EJBCA:
  • JDK 1.5 atau 1.6
  • Unlimited Strength Jurisdiction Policy Files untuk JDK
  • JBOSS >= 4.0.4
  • Ant >= 1.6.5
Note: masing-masing cara instalasi dari syarat di atas ditulis dalam posting terpisah.

Install EJBCA:
  1. Extract file ejbca ke direktori; misal ke C:\ dan nama direktorinya adalah C:\ejbca_3_5_4
  2. Ubah file conf/ejbca.properties.sample menjadi conf/ejbca.properties
  3. Buka command prompt (console) dan masuk ke direktori pada point pertama dan jalankan perintah "ant bootstrap"
  4. Jalankan JBoss dengan perintah "ant j2ee:run"
  5. Jalankan perintah "ant install". Dari perintah ini akan diciptakan inisiasi sistem, di antaranya adalah private key untuk admin (file C:\ejbca_3_5_4\p12\superadmin.p12). Import file ini ke browser. (firefox: tools->options->advanced->tab encryption->view sertificates->import.
  6. Stop JBoss (dengan Ctrl+C)
  7. jalankan "ant deploy"
  8. Jalankan JBoss lagi dan https://localhost:8443/ejbca/ untuk akses Admin GUI dan http://localhost:8080/ejbca untuk halaman publik
referensi: http://ejbca.sourceforge.net/installation.html

3.12.2008

Open Infrastruktur Algoritma Kunci Publik

To do List:
  1. Akses mesin publik untuk testing dan development
  2. install openca dari referensi
Completed Task:
  1. install ejbca
-------------------------------------------------------------
Alternasi:
-------------------------------------------------------------
ejbca : http://ejbca.sourceforge.net/

EJBCA is a fully functional Certificate Authority built in Java. Based on J2EE technology it constitutes a robust, high performance and component based CA. Both flexible and platform independent, EJBCA can be used standalone or integrated in any J2EE application.

EJBCA is completely written in Java and should as such run on any platform where a J2EE server runs. Development and testing is performed on Linux and Windows platforms.

lebih lengkapnya lihat install ejbca http://tuxceria.blogspot.com/2008/03/instalasi-ejbca.html

-------------------------------------------------------------
phpca - a php-based certificate authority for openssl

source code: http://trac.dey.fcny.org/browser/phpca
referensi:

http://www.nyphp.org/content/presentations/SSL/presentation.html

-------------------------------------------------------------
openca: www.openca.org

referensi singkat:
http://solar.murty.net/~murty/files/openca.INSTALL.txt
http://wiki.arcs.org.au/bin/view/Main/CAInstallGuide093

3.05.2008

Jika di Tengah Sesuatu Connection Drop?

Banyak dari pengguna internet mengandalkan remote connection seperti SSH. Akan tetapi bagaimana jika di tengah-tengah pengerjaan sesuatu connection internet tiba-tiba terputus?

untuk itulah ada baiknya jika ketika pertama kali koneksi ke remote site menggunakan utilitas screen (http://www.gnu.org/software/screen/).

setelah berhasil masuk login SSH. ketikkan perintah screen, maka akan muncul prompt seperti halnya shell biasa. akan tetapi jika diketikkan perintah screen -ls akan muncul informasi semacam ini:

[djanoko@main ~]$ screen -ls
There is a screen on:
6714.pts-0.main (Attached)
1 Socket in /var/run/screen/S-djanoko.

[djanoko@main ~]$

jika nanti shell session mati karena network lost atau proses dikill oleh aplikasi lain atau putty ditutup secara tiba-tiba. maka session tersebut tidak sepenuhnya hilang. perintah screen-ls akan memperlihatkan detached screen session tersebut.

[djanoko@main ~]$ screen -ls
There is a screen on:
6714.pts-0.main (Detached)
1 Socket in /var/run/screen/S-djanoko.

dengan perintah screen -r 6714.pts-0.main session lama dapat diattach kembali tanpa khawatir pekerjaan terputus.

referensi: http://www.gnu.org/software/screen/

Eclipse RSE - Remote Site Explorer

Ada beberapa alternatif web development pada shared host. Perangkat yang umum disediakan adalah cpanel. Akan tetapi cpanel tidak menyediakan usability selengkap feature desktop. Perangkat desktop commercial seperti Zend Studio atau Adobe Macromedia mungkin menjadi alternatif bagi yang memiliki budget untuk membeli lisensinya.

Alternatif bagi mereka yang mengenal eclipse platform untuk pengembangan web adalah menggunakan eclipse RSE, Remote Site Explorer. Eclipse RSE mendukung banyak protokol di antaranya; FTP, SSH, telnet (experimental), Unix, dan Windows.

untuk menginstall Eclipse RSE:
dari menu Help->Software Updates->Find and Install

masukkan New Remote Site dengan value sebagai berikut
http://download.eclipse.org/dsdp/tm/updates/2.0/

Dengan menggunakan RSE file editing langsung bisa dilakukan pada shared host dengan mengorbankan waktu untuk sinkronisasi dan upload-downlod file untuk local caching.

PS:
1. Eclipse RSE dengan ftp tidak dapat melakukan operasi copy paste folder
2. Development langsung di shared host tidak dianjurkan baik dari segi sekuritas maupun load network. check subversion kontrol seperti SVN untuk metoda pengembangan yang lebih mapan.
akan tetapi pengembangan software skala kecil sangat jarang menggunakan tools tersebut. setidaknya lebih efektif daripada mengunakan cpanel atau upload per file dengan ftp client

3.04.2008

Menikmati Alternasi - PHP Symfony

Salah satu alternatif penggunaan framework untuk rapid development PHP adalah symfony.
Symfony menggunakan ORM Propel, memungkinkan pembangkitan source code dari skema database yang ada (reverse engineering).

jika database fisik belum ada, bangun skeleton schema.yml terlebih dahulu. kemudian menggunakan perintah symfony build-model dan symfony build-sql akan membangkitkan model dan statement SQL untuk database tersebut.

jika database fisik telah ada, Propel dapat membangkitkan dengan perintah symfony propel-build-schema.

dengan demikian pendefinisian schema.yml menjadi penting di sini dan sangat menghemat waktu jika pendefinisian database telah benar.

penggunaan propel-build-model membangkitkan kelas dalam package lib.modules dengan kata kunci nama kelas [model]*.php dan lib.modules.om dengan kata kunci nama kelas Base[model].php.

Framework adalah perangkat pendukung, bukan perangkat utama, oleh karenanya itu business model harus sebisa mungkin lepas dari spesifikasi framework yang dipakai. Dari pembangkitan kelas dengan propel-build-model tampak bahwa model disimpan dalam kelas Base[model]. Hal ini mencerminkan desain yang kurang baik jika kita berpindah dengan framework yang lain. Solusi multiple inheritance tidak dapat digunakan karena PHP tidak mendukungnya. Oleh karena itu solusi alternatif adalah membangun interface untuk model kita.

Interfaces ditempatkan di packages lib.interfaces. Dengan load propel-build-model, konfigurasi class autoload akan menyertakan definisi interfaces yang dibuat tanpa menghapus definisi model lain yang telah dibangkitkan dan dimodifikasi sebelumnya. Gambar dapat dilihat berikut ini:


Walaupun informasi attribute akan hilang, setidaknya definisi method masih dapat disimpan, dan detail implementasi tetap diuraikan pada kelas turunan yang coupling dengan framework symfony agar dapat memanfaatkan tools development dari symfony yang sudah ada, seperti propel-init-admin, propel-crude-generate.