Signserver merupakan layanan digital yang digunakan sebagai segel elektronik pada sebuah dokumen yang sudah ditanda tangan secara digital. Setiap dokumen yang disegel secara otomatis akan menggunakan sertifikat digital dan ditambahkan timestamp yang berasal dari penyedia jasa timestamping.
Tidak hanya itu, dengan Signserver Validators, kalian bisa memvalidasi dokumen, yang didukung dengan fitur CRL ataupun OCSP. Fitur lengkap dari Signserver bisa langsung dibaca DI SINI.
Sebelum memulai proses instalasi Signserver, ada baiknya bila kalian mempersiapkan kopi satu gelas dan beberapa alat, serta bahan berikut:
Alat dan Bahan
- Apache ANT 1.9.7 → Cara installnya bisa dilihat DI SINI
- Signserver CE 4.0.0 → Download DI SINI
- WildFly 10.1.0 Final → Download DI SINI
- MariaDB Java Client 2.1.0 → Download DI SINI
- OpenJDK 8
- JCE Policy 8 → Download DI SINI
*Setelah berhasil mengunduh semua file di atas, letakkan di dalam folder /opt.
Spek Server yang Digunakan
- RAM = 2 GB
- CPUs = 2
- Harddisk = 50 GB
- OS = CentOS 6.10
Tahap Awal
Pengaturan FQDN
Pertama kali yang kalian lakukan adalah Setting FQDN-nya terlebih dahulu, caranya:
vi /etc/hosts

Konfigurasi Firewall
Tidak berbeda jauh dengan EJBCA, Signserver pun menggunakan port 8080, 8442, 8443 untuk servisnya. Yang lainnya merupakan port internal (3306 untuk MySQL, 9990 untuk JBoss Admin, dll). Kita tidak perlu mengubah port tersebut pada aplikasi Signserver secara langsung.
Jika kita mau menggunakan port standar yang digunakan WEB, silahkan atur Port Forwarding pada iptables. Kita bisa melakukannya dengan cara:
vi /etc/sysconfig/iptables
kemudian masukkan:
#### Start Iptables ####
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [34:14652]
-A INPUT -p tcp -m tcp –dport 8008 -j ACCEPT
-A INPUT -p tcp -m tcp –dport 4447 -j ACCEPT
-A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -p tcp -m state –state NEW -m tcp –dport 8080 -m mark –mark 0x64 -j ACCEPT
-A INPUT -p tcp -m state –state NEW -m tcp –dport 80 -j ACCEPT
-A INPUT -p tcp -m state –state NEW -m tcp –dport 8080 -j ACCEPT
-A INPUT -p tcp -m state –state NEW -m tcp –dport 8443 -j ACCEPT
-A INPUT -p tcp -m state –state NEW -m tcp –dport 8442 -j ACCEPT
-A INPUT -p tcp -m state –state NEW -m tcp –dport 443 -j ACCEPT
-A INPUT -p tcp -m state –state NEW -m tcp –dport 22 -j ACCEPT
-A INPUT -j REJECT –reject-with icmp-host-prohibited
-A FORWARD -j REJECT –reject-with icmp-host-prohibited
COMMIT
*nat
:PREROUTING ACCEPT [1928198:538190860]
:POSTROUTING ACCEPT [239877:14576705]
:OUTPUT ACCEPT [239877:14576705]
-A PREROUTING -i eth0 -p tcp -m tcp –dport 80 -m mark –mark 0x64 -j DNAT –to-destination :8080
COMMIT
*mangle
:PREROUTING ACCEPT [5793867:3540661671]
:INPUT ACCEPT [5504145:3514609021]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [4546890:3055306048]
:POSTROUTING ACCEPT [4546890:3055306048]
-A PREROUTING -i eth0 -p tcp -m tcp –dport 80 -j MARK –set-xmark 0x64/0xffffffff
COMMIT

Setelah melakuan konfigurasi, untuk mengaktifkan iptables tersebut maka lakukan perintah berikut:
sh -c 'iptables-restore -t < /etc/sysconfig/iptables'
Instalasi Beberapa Paket
Kalian membutuhkan java agar software ini dapat running. Oleh sebab itu, kalian harus menginstalnya terlebih dahulu. Versi OpenJDK yang harus diinstal adalah versi 8. Caranya:
yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel

Setelah selesai melakukan instalasi openjdk-8, tahapan selanjutnya adalah memilih java-1.8.0 tadi sebagai default. Caranya:
alternatives --config java

dan untuk lebih memastikan agar kita tidak salah memilih versi java yang akan kita gunakan, jalankan perintah:
java -version
Setelah itu, kita akan sedikit me-replace beberapa file yang ada di /usr/lib/jvm/java-1.8.0-openjdk.x86_64/jre/lib/security. 2 file yang harus di replace adalah local_policy.jar dan US_export_policy.jar.
Bagaimana cara me-replace-nya?
- Download JCE pada link yang sudah saya sertakan di atas.
- Setelah berhasil di download, ekstrak file tersebut dan kamu akan menemukan sebuah folder bernama jce_policy-8. Cara ekstraknya adalah seperti berikut:
cd /opt unzip jce_policy-8.zip - Setelah berhasil di ekstrak, copy-kan 2 file yang sudah saya sebutkan di atas ke dalam folder/usr/lib/jvm/java-1.8.0-openjdk.x86_64/jre/lib/security. Caranya:
cp jce_policy-8/UnlimitedJCEPolicyJDK8/local_policy.jar /usr/lib/jvm/java-1.8.0-openjdk.x86_64/jre/lib/security cp jce_policy-8/UnlimitedJCEPolicyJDK8/US_export_policy.jar/usr/lib/jvm/java-1.8.0-openjdk.x86_64/jre/lib/security
Instalasi dan Konfigurasi MariaDB
Tahap berikutnya kita harus melakukan instalasi database kemudian konfigurasi. Konfigurasi yang saya lakukan disini hanyalah konfigurasi biasa tanpa security yang cukup baik (hanya untuk keperluan percobaan). Untuk kalian yang ingin mengimplementasikannya di production, pastikan mengamankan direktori mysql dan meng-update /etc/mysql/my.cnf sebelum menjalankan service database. Konfigurasi ini juga menggunakan utf-8 encoding. Mari kita mulai instalasinya terlebih dahulu:
- Baca juga Cara mengelola CA pada EJBCA 6.10.1.2
Untuk melakukan instalasi mariaDB 10.2 (stable) pada CentOS 6.10. Tambahkan dulu repositorinya dengan cara:
#MariaDB 10.2 CentOS repository list - created 2018-07-10 17:39 UTC#http://downloads.mariadb.org/mariadb/repositories/ [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.2/centos6-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
Setelah itu update paket CentOS dan install MariaDB 10.2. Caranya:
yum update
yum install MariaDB-server MariaDB-client
Setelah MariaDB selesai terinstal, tahap selanjutnya adalah mengubah beberapa konfigurasi yang ada pada my.cnf. Salah satunya adalah menambahkan binlog_format=row. Kalau menggunakan MariaDB, kemungkinan servicenya menolak untuk berjalan karena InnoDB tidak bisa memproses log binary-nya. Tambahkan binlog_format=row seperti konfigurasi di bawah untuk memecahkan masalah tersebut. Tambahkan juga beberapa item lain yang belum ada di my.cnf kalian ya.
vi /etc/mysql/my.cnf
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
default-character-set = utf8
[mysqld]
user = mysql
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc_messages_dir = /usr/share/mysql
lc_messages = en_US
skip-external-locking
#UTF-8
character-set-server = utf8
collation-server = utf8_unicode_ci
init-connect = 'SET NAMES utf8'
bind-address = 127.0.0.1
#Binary Logging
log_bin = /var/log/mysql/mariadb-bin
log_bin_index = /var/log/mysql/mariadb-bin.index
binlog_format = ROW
expire_logs_days = 10
max_binlog_size = 100M
server-id = 1
slow_query_log_file = /var/log/mysql/mariadb-slow.log
long_query_time = 10
Setelah beres, jangan lupa untuk mengubah kepemilikan my.cnf tersebut menjadi milik mysql. caranya:
sudo chown mysql:mysql /etc/mysql/my.cnf
Pada konfigurasi my.cnf di atas, kita memasukkan lokasi untuk meletakkan log. Untuk mengamankan log tersebut (karena log tersebut mengandung data sertifikat kita), maka kita harus mengatur izin yang terbatas soal siapa yang bisa mengaksesnya. Caranya:
chown -R mysql:mysql /var/log/mysql
chmod -R 750 /var/log/mysql/
Setelah MariaDB terinstall dan konfigurasi dilakukan, tahap selanjutnya adalah me-restart service database, membuat database untuk Signserver CE 4.0.0, dan juga sebuah user untuk mengakses database Signserver tersebut (jangan menggunakan user root untuk Signserver dalam mengakses database-nya). Caranya:
service mysql restart
mysql -u root -p
create database <nama_db> CHARACTER SET utf8 COLLATE utf8_general_ci;
grant all privileges on <nama_db>.* to '<user>'@'<ip>' identified by '<password>'; flush privileges; exit

Kalau sudah, lakukan verifikasi dengan cara login dengan menggunakan user yang baru saja kita buat tadi dan test aksesnya. Caranya:
mysql -u <user_db> -p
use <db_signserver>;
show grants for '<user_db>@'<ip>';
exit

Pada bagian akhir, restart service database tersebut dengan perintah:
service mysql restart
Membuat Struktur Direktori
Sekarang kalian akan membuat struktur direktori dari aplikasi itu sendiri. Saya memutuskan untuk meletakkan aplikasi-aplikasi yang saya butuhkan pada /opt. Secara default, Semua dokumentasi Signserver mengasumsikan kalian melakukan instalasi pada home direktori. Namun saya lebih senang untuk menggunakan simbolik link agar lebih mudah.
- /opt kalian gunakan untuk meletakkan semua file sehingga kalian bisa dengan mudah menghapusnya dan memulai lagi dari awal.
- Download WildFly 10.1.0 dan Signserver CE 4.0.0 dengan wget (link ada di “alat & bahan”) dan letakkan pada /opt.
Setelah semua file terdownload (dalam bentuk zip), lalu ekstrak dan buat beberapa link sebagai shortcut untuk menuju folder tersebut. Caranya:
sudo unzip wildfly-10.1.0.Final.zip
sudo unzip signserver-ce-4.0.0.zip
sudo ln -s /opt/signserver-ce-4.0.0 signserver
sudo ln -s /opt/wildfly-10.1.0.Final jboss
ketik perintah berikut
cd /home/user vi .bashrc
dan masukkan beberapa path berikut ini:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk.x86_64/ export PATH=$PATH:$JAVA_HOME/bin export JBOSS_HOME=/opt/jboss export PATH=$PATH:$JBOSS_HOME/bin export APPSRV_HOME=/opt/jboss export PATH=$PATH:$JBOSS_HOME/bin export ANT_OPTS="-Xmx512m -XX:MaxPermSize=128m" export SIGNSERVER_HOME=/opt/signserver export PATH=$SIGNSERVER_HOME/bin:$PATH export SIGNSERVER_NODEID=node1

Menambahkan Database Driver ke dalam Wildfly
Kita akan melakukan hot-deploying pada penambahan driver database kali ini yaitu dengan memasukkannya secara langsung ke dalam direktori deployment. Driver tersebut akan diambil dan di deploy secara otomatis ketika Wildfly dijalankan.
Untuk mempermudah, kita akan meng-copy file driver tersebut dan mengubah namanya menjadi baru, tanpa ada embel-embel versi drivernya. Caranya:
cp mariadb-java-client-2.1.0.jar /opt/jboss/standalone/deployments/mariadb-java-client.jar
ls

- /opt/jboss/ merupakan sebuah link yang saya buat untuk /opt/wildfly-10.0.0.final
- Link driver database sudah saya sertakan di awal tutorial.
Konfigurasi Wildfly Instance (Standalone)
Pertama, kita akan melakukan konfigurasi Instance yang nanti akan digunakan oleh Signserver CE 4.0.0. Namanya “standalone”, dan hadir secara default dalam Wildfly 10.1.0.Final
Pada direktori /opt/jboss/bin terdapat sebuah script yang bernama standalone.sh yang merupakan titik utama dari Wildfly. Script ini memberi referensi pada sebuah file konfigurasi yang terletak pada folder yang sama bernama standalone.conf. Kita tidak akan memodifikasi script startup-nya, tapi kita perlu untuk memodifikasi file konfigurasinya.
Sebagai langkah awal, kita akan mem-backup file konfigurasi defaultnya terlebih dahulu. Caranya:
cd /opt/jboss/bin
cp standalone.conf standalone.conf.bak
File konfigurasi tersebut juga berisi satu set option JVM yang nantinya akan kita ubah sedikit. Ini bukanlah perubahan yang wajib, tapi perubahan tersebut dapat mengalokasikan memori lebih pada JVM.
- Ada beberapa entri yang dinonaktifkan, namun yang penting di sini adalah JAVA_HOME dan JAVA_OPTS.
Secara default, direktori JAVA_HOME belum di set dan JAVA_OPTS hanya mengizinkan penggunaan memori sebesar 512Mib. Ubah kedua parameter tersebut menjadi seperti berikut:
File konfigurasi tersebut juga berisi satu set option JVM yang nantinya akan kita ubah sedikit. Ini bukanlah perubahan yang wajib, tapi perubahan tersebut dapat mengalokasikan memori lebih pada JVM.
- Ada beberapa entri yang dinonaktifkan, namun yang penting di sini adalah JAVA_HOME dan JAVA_OPTS.
Secara default, direktori JAVA_HOME belum di set dan JAVA_OPTS hanya mengizinkan penggunaan memori sebesar 512Mib. Ubah kedua parameter tersebut menjadi seperti berikut:
vi standalone.conf
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk.x86_64/
JAVA_OPTS="-Xms1024m -Xmx1024m -Djava.net.preferIPv4Stack=true"

Starting Wildfly
Beberapa tweak harus kalian lakukan setelah Wildfly berjalan. Karena beberapa perintah di atas ada yang dijalankan sebagai root, kalian akan membuat user io menjadi owner dari folder wildfly yang sudah kalian extract.
Maka jalankan perintah berikut:
chown -R io:io /opt/wildfly-10.1.0.Final
Sekarang dengan user io, kalian akan mengeksekusi file standalone.sh yang berada pada folder jboss. Langkah-langkahnya adalah sebagai berikut:
cd /opt/jboss/bin
nohup ./standalone.sh -b 0.0.0.0 -bmanagement=0.0.0.0 &

- &” digunakan agar jboss tetap berjalan saat kita keluar dari terminal.
- “-b” adalah opsi untuk menentukan jboss.bind.address.
- “0.0.0.0” berarti dapat diakses dari IP manapun.

dari log diatas dapat dihasilkan beberapa poin, yaitu:
- JBoss Admin Page dapat diakses dari IP manapun melalui browser.
- alamat default URL untuk JBoss Admin tersebut adalah http://<ip atau domain>:9990/console/App.html
- Ketika kita melihat proses ini pada log → “started xxx of xxx services” , maka JBoss sudah berjalan.
Konfigurasi User Admin untuk Wildfly Web
apabila kita mengakses console Wildfly via web pada tahap ini melalui http://<ip atau domain>:9990 maka yang tampil adalah seperti berikut:

Hal itu disebabkan oleh belum adanya admin User yang dibuat untuk mengakses console tersebut. Untuk itu kita perlu membuatnya. Caranya:
cd /opt/jboss/bin
sh add-user.sh
Maka akan muncul pertanyaan seperti berikut:
What type of user do you wish to add? a) Management User (mgmt-users.properties) b) Application User (application-users.properties) (a): Enter the details of the new user to add. Using realm 'ManagementRealm' as discovered from the existing property files. Username : xxxx Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file. - The password should be different from the username - The password should not be one of the following restricted values {root, admin, administrator} - The password should contain at least 8 characters, 1 alphabetic character(s), 1 digit(s), 1 non-alphanumeric symbol(s) Password : WFLYDM0101: Password should have at least 1 digit. Are you sure you want to use the password entered yes/no? yes Re-enter Password : What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[ ]: About to add user 'jadmin' for realm 'ManagementRealm' Is this correct yes/no? yes Added user 'xxxx' to file '/opt/wildfly-10.1.0.Final/standalone/configuration/mgmt-users.properties' Added user 'xxxx' to file '/opt/wildfly-10.1.0.Final/domain/configuration/mgmt-users.properties' Added user 'xxxx' with groups to file '/opt/wildfly-10.1.0.Final/standalone/configuration/mgmt-groups.properties' Added user 'xxxx' with groups to file '/opt/wildfly-10.1.0.Final/domain/configuration/mgmt-groups.properties' Is this new user going to be used for one AS process to connect to another AS process? e.g. for a slave host controller connecting to the master or for a Remoting connection for server to server EJB calls. yes/no? no

- “What type of user do you wish to add?” → isi dengan “a”
- “Realm” → enter saja.
- “username” → Isi dengan username yang kalian mau.
- “Password” → Isi dengan password yang kalian mau.
- “Re-Enter Password” → Ulangi kembali dengan password yang sama.
- “is this correct” → pilih “yes”
- “is this new user going to …..” → pilih “no”
Pada saat ini seharusnya kita sudah bisa mengakses interface dari Wildfly Web Console dan mengganti beberapa item. Namun pada saat ini kita belum perlu untuk mengganti apapun:
- Ini adalah user spesifik untuk JBoss yang tidak digunakan dimanapun.
- Ini adalah tahapan yang bagus untuk mengambil snapshot vm.
Sekarang mari kita coba user tersebut. caranya masuk ke browser dan ketikkan http://<ip atau domain>:9990/console/App.html. Maka akan muncul tampilan seperti berikut:

Masukkan username dan password sesuai dengan yang baru saja kita input. Apabila benar maka akan muncul tampilan seperti berikut:

Menambahkan Data Source
Sekarang service Wildfly sudah berjalan, kini kita bisa menambahkan data source. Kita akan melakukan ini melalui CLI-nya JBoss, yang akan mengupdate konfigurasi yang berada pada file Standalone.xml. Sebelum melakukan perubahan maka ada baiknya kita membackup konfigurasi awal terlebih dahulu. Caranya (masih dengan user jboss):
cd /opt/jboss/standalone/configuration
cp standalone.xml standalone.xml.bak
Sekarang kita akan menuju JBoss CLI dan melakukan beberapa perubahan. Caranya:
cd /opt/jboss/bin
sh jboss-cli.sh
connect
Lalu jalankan perintah berikut:
data-source add --name=SignServerDS --driver-name="mariadb-java-client.jar" --connection-url="jdbc:mysql://127.0.0.1:3306/signserver" --jndi-name="java:/SignServerDS" --use-ccm=true --driver-class="org.mariadb.jdbc.Driver" --user-name="signserver" --password="signserver" --validate-on-match=true --background-validation=false --prepared-statements-cache-size=50 --share-prepared-statements=true --min-pool-size=5 --max-pool-size=150 --pool-prefill=true --transaction-isolation=TRANSACTION_READ_COMMITTED --check-valid-connection-sql="select 1;"
:reload
Setelah perintah tersebut dieksekusi maka hasil keluarannya adalah “Success” (seperti pada gambar di bawah).

Hal yang kita lakukan pada CLI ini mendefinisikan driver mariadb dan koneksi yang ada pada /opt/jboss/standalone/configuration/standalone.xml, kemudian me-reload JBoss.
Hasilnya akan terlihat pada standalone.xml seperti gambar berikut:

Sebagai bukti lagi kalau connector tersebut sudah masuk, kita akan melihat pada log yang tertera di file nohup.out yang ada pada folder /opt/jboss/bin. Namun sebelumnya kita harus me-restart service wildfly yang sedang berjalan. Caranya:
cd /opt/jboss/bin
ps -ax | grep jboss
kill <nomor pada ps-ax>
nohup ./standalone.sh -b 0.0.0.0 -bmanagement=0.0.0.0 &
tail -100f nohup.out
Ketika kalian menemukan org.mariadb.jdbc.driver, maka datasource tersebut sudah dapat dipastikan masuk.
Datasource Password
Untuk mengamankan password yang ada pada SignServerDS di atas agar tidak plain text pada saat ditampilkan di /opt/jboss/standalone/configuration/standalone.xml (Guna meningkatkan keamanan sistem), Jalankan perintah berikut:
- Ganti PASSWORDLO dengan password database di atas.
java -cp /opt/jboss/modules/system/layers/base/org/picketbox/main/picketbox-4.9.4.Final.jar:/opt/jboss/modules/system/layers/base/org/jboss/logging/main/jboss-logging-3.3.0.Final.jar:$CLASSPATH org.picketbox.datasource.security.SecureIdentityLoginModule PASSWORDLO

- copy dan paste encoded password di atas ke file standalone.xml:
vi /opt/jboss/standalone/configuration/standalone.xml
- Paste segmen berikut pada segmen security-domains (dengan mengganti PASSWORDLO_ENC menjadi encoded password yang kita dapatkan dari perintah di atas dan USERLO dengan user untuk terkoneksi ke database)
<security-domain name="SignServerDSEncryptedPassword">
<authentication>
<login-module code="SecureIdentity" flag="required">
<module-option name="username" value="USERLO"/>
<module-option name="password" value="PASSWORDLO_ENC"/>
</login-module>
</authentication>
</security-domain>

- Lihat bagian SignServerDs datasource dan ganti segmen security (dimana PASSWORDLO adalah password lama dalam bentuk plain text):
<security>
<user-name>USERLO</user-name>
<password>PASSWORDLO</password>
</security>
- Dengan bentuk berikut:
<security>
<security-domain>SignServerDsEncryptedPassword</security-domain>
</security>
Restart kembali JBOSS
cd /opt/jboss/bin
ps -ax | grep jboss kill <nomor pada ps-ax>
nohup ./standalone.sh -b 0.0.0.0 -bmanagement=0.0.0.0 &
tail -100f nohup.out
Konfigurasi Wildfly SSL
Konfigur interfaces dengan menggunakan bind addreess yang tepat (i.e. 0.0.0.0 or 127.0.0.1)
cd /opt/jboss/bin sh jboss-cli.sh connect
/interface=http:add(inet-address="0.0.0.0")
/interface=httpspub:add(inet-address="0.0.0.0")
/interface=httpspriv:add(inet-address="0.0.0.0")
/socket-binding-group=standard-sockets/socket-binding=http:add(port="8080",interface="http")
/subsystem=undertow/server=default-server/http-listener=http:add(socket-binding=http)
/subsystem=undertow/server=default-server/http-listener=http:write-attribute(name=redirect-socket, value="httpspriv")
:reload


Menghapus TLS dan Konfigurasi HTTP yang Sudah Ada
Jalankan perintah berikut pada JBOSS CLI untuk menhapus konfigurasi TLS dan HTTP yang sudah ada (hanya untuk keamanan).
/subsystem=undertow/server=default-server/http-listener=default:remove
/subsystem=undertow/server=default-server/https-listener=https:remove
/socket-binding-group=standard-sockets/socket-binding=http:remove
/socket-binding-group=standard-sockets/socket-binding=https:remove
:reload

/subsystem=remoting/http-connector=http-remoting-connector:remove
/subsystem=remoting/http-connector=http-remoting-connector:add(connector-ref="remoting",security-realm="ApplicationRealm")
/socket-binding-group=standard-sockets/socket-binding=remoting:add(port="4447")
/subsystem=undertow/server=default-server/http-listener=remoting:add(socket-binding=remoting)
:reload

Tunggu sampai proses reload selesai dengan cara mengecek log yang ada pada nohup.out, baru kemudian lanjutkan ke proses berikutnya
Atur port privat yang membutuhkan sertifikat klien. Gunakan nilai yang tepat untuk key-alias (hostname), password (keystore password), ca-certificate-password (truststore password) dan protocol yang mendukung lainnya.
/socket-binding-group=standard-sockets/socket-binding=httpspriv:add(port="8443",interface="httpspriv")
/core-service=management/security-realm=SSLRealm:add()
/core-service=management/security-realm=SSLRealm/server-identity=ssl:add(keystore-path="keystore/keystore.jks", keystore-relative-to="jboss.server.config.dir", keystore-password="serverpwd", alias="localhost")
/core-service=management/security-realm=SSLRealm/authentication=truststore:add(keystore-path="keystore/truststore.jks", keystore-relative-to="jboss.server.config.dir", keystore-password="changeit")
/subsystem=undertow/server=default-server/https-listener=httpspriv:add(socket-binding="httpspriv", security-realm="SSLRealm", verify-client=REQUIRED)
![]()

Atur SSL port untuk publik yang tidak membutuhkan client certificate
/socket-binding-group=standard-sockets/socket-binding=httpspub:add(port="8442",interface="httpspub")
/subsystem=undertow/server=default-server/https-listener=httpspub:add(socket-binding="httpspub", security-realm="SSLRealm")
:reload
Perbaiki masalah pada web service dengan cara:
/subsystem=webservices:write-attribute(name=wsdl-host, value=jbossws.undefined.host)
/subsystem=webservices:write-attribute(name=modify-wsdl-address, value=true)

Konfigur Deployment
Sekarang waktunya untuk konfigurasi file pada signserver. Masuk ke dalam folder signserver kemudian copy file yang dibutuhkan. Caranya:
cd /opt/signserver
cp conf/signserver_deploy.properties.sample conf/signserver_deploy.properties
vi conf/signserver_deploy.properties
Ubah isi file tersebut menjadi seperti berikut:
appserver.home=/opt/jboss appserver.type=jboss datasource.jndi-name=SignServerDS database.name=mysql database.url=jdbc:mysql://127.0.0.1:3306/<nama_db>?characterEncoding=UTF-8 database.driver=org.mariadb.jdbc.Driver database.username=<user_db> database.password=<password_db>
Deploy Signserver
Untuk melakukan deploy, masuk ke dalam direktori $SIGNSERVER_HOME, lalu jalankan perintah berikut:
ant deploy
Pastikan kalau hasil yang muncul adalah “build successful”. Setelah itu, kalian bisa memeriksa status dari signserver dengan mengetikkan perintah:
bin/signserver getstatus brief all

dan untuk mengakses halaman webnya, ketikkan alamatnya pada browser:
http://localhost:8080/signserver

Itu tadi cara melakukan instalasi Signserver CE 4.0.0 pada CentOS 6.10. Semoga informasi tersebut bisa membantu kalian yang ingin mencobanya.
Sampai jumpa di Tutorial berikutnya 🙂

Comments are closed.