Monday, January 21, 2019

DEBUG PIPELINE SOFTWAREAG

DEBUG PIPELINE SOFTWAREAG

DEBUG PIPELINE SOFTWAREAG 

Untuk mengetahui flow service yang digunakan pada ws , klik ws yang digunakan, buka tab binders 
DEBUG PIPELINE SOFTWAREAG


1. Langkah pertama klik dua kali service yang ingin didebug, pada propertis pipeline debug ganti ke mode SAVE dan simpan , lalu lakukanlah hit melalui chanel ke ws untuk menangkap requestnya 

DEBUG PIPELINE SOFTWAREAG



2. Setelah hit, ubah pipeline debug menjadi restore (override) dan simpan , lalu klik kanan pada flow service dan debug -> debug as flow service 

DEBUG PIPELINE SOFTWAREAG

3.Pada Perspektif debug silakan tekan f6 untuk menjalankan flow service dari awal sampai akhir, dan silakan untuk memeriksa pada flow mana anda mendapatkan error, dan jika sukses message apa yang didapat.


DEBUG PIPELINE SOFTWAREAG


Pada hasil contoh diatas saya mendapat respone sukses dari keseluruhan flow.

Sunday, January 20, 2019

Berkenalan Dengan Struktur Data List Pada Python

Berkenalan Dengan Struktur Data List Pada Python

Bagaimana sih caranya kita untuk dapat menyimpan banyak data hanya dalam satu variabel?

Jawabannya yaitu dengan menggunakan List.

List adalah struktur data pada program python yang dapat menyimpan lebih dari satu data, sama seperti halnya array.

Pada materi ini, kita akan membahas cara menggunakan list pada program Python dari contoh yang paling sederhana sampai yang lumayan kompleks.

Apa saja hal yang akan kita pelajari?
  • Cara Membuat List dan Mengisinya
  • Caranya Mangambil nilai dari List
  • Caranya Menambahkan dan Menghapus isi List
  • Memepelajari Operasi pada List
  • dan List multi dimensi


Cara Membuat List di Python

List dapat kita gunakan seperti kita membuat variabel biasa, namun nilai variabelnya diisi dengan tanda kurung siku [].

Contoh Codingnya :
# Membuat List kosong
warna = []
# Membuat list dengan isi 1 item
hobi = ["ngoding"]
Apabila list memiliki lebih dari satu nilai atau isi, maka kita bisa memisahnya dengan tanda koma.

Contoh Codingnya:
warna = ["merah", "biru", "kuning", "hijau"]

Type data apa saja yang boleh diisi ke dalam List ini?

list dapat diisi dengan type data apa saja baik itu string, integer, float, double, boolean, object, dan sebagainya.

Kita juga bisa mencampur didalam isinya.

Contoh Codingnya:
lemari = ["pakaian", 25, True, 34.12]
Ada empat jenis tipe data pada list lemari:
  1. "pakaian" adalah tipe data string;
  2. 25 adalah tipe data integer;
  3. True adalah tipe data boolean;
  4. dan 34.12 adalah tipe data float.


Cara Mengambil Nilai dari List

Setelah pada materi diatas kita tahu caranya membuat dan menyimpan nilai di dalam List, mari kita coba mengambil nilainya.

List sama halnya seperti array, list juga memiliki nomer indeks untuk mengakses data atau isinya.

warna = ["merah", "biru", "kuning", "hijau"]
  • merah indeks ke 0
  • biru indeks ke 1
  • kuning indeks ke 2
  • hijau indeks ke 3

Nomer indeks list selalu dimulai dari nol (0).

Nomer indeks ini yang kita butuhkan untuk mengambil isi (nilai) dari list.

Contoh Codingnya:

# Kita punya list nama-nama makanan
makanan= ["nasi", "bakso", "soto", "mie"]
# Misanya kita ingin mengambil soto
# Maka indeknya adalah 2
print makanan[2]

Hasil program akan menghasilkan output:
"soto"

Membuat Program dengan List

Untuk dapat memantapkan pemahaman tentang list pada python, silahkan coba latihan berikut.

  1. Buat sebuah list untuk menyimpan nama-nama temanmu
  2. Isi list sebanyak 5
  3. Tampilkan isi list indeks nomer 4
  4. Tampilkan semua teman dengan perulangan
  5. Tampilkan panjang list
Mari kita jawab latihannya dengan coding berikut :

# Buat list untuk menampung nama-nama teman
my_friends = ["Fajar", "Eka", "Andi", "Wahyu", "Nanda"]
# Tampilkan isi list my_friends dengan nomer indeks 4
print "Isi my_friends indeks ke-4 adalah: {}".format(my_friends[4])
# Tampilkan semua daftar teman
print "Semua teman: ada {} orang".format(len(my_friends))
for friend in my_friends:
    print friend


Pada kode di atas, kita menggunakan fungsi len() untuk mengambil panjang list.

Hasil outputnya:

Berkenalan Dengan Struktur Data List Pada Python

Cara Mengganti Nilai List

List bersifat mutable, artinya isinya dapat berubah-ubah.

Contoh codingnya :
# list buah
buah = ["jeruk", "apel", "mangga", "duren"]
# mengubah nilai index ke-3
buah[3] = "sawo"
Maka "duren" akan diganti dengan "sawo".

["jeruk", "apel", "mangga", "sawo"]

Cara Menambahkan Item List

Ada Tiga metode (method) atau fungsi pada program python yang bisa digunakan untuk menambahkan isi atau item ke List:

  1. prepend(item) menambahkan item dari depan;
  2. append(item) menambahkan item dari belakang.
  3. insert(index, item) menambahkan item dari indeks tertentu

Contoh Codingnya:

#list buah
buah = ["jeruk", "apel", "mangga", "duren"]
# Tambahkan manggis
buah.append("manggis")
Hasilnya "manggis" akan ditambahkan setelah item terakhir.

["jeruk", "apel", "mangga", "duren", "manggis"]

Metode yang kedua menggunakan prepend().

Metode prepend() akan menambahkan item dari depan atau awal list.

Contoh:
#list buah
buah = ["jeruk", "apel", "mangga", "duren"]
buah.prepend("kelapa")
Maka "kelapa" akan ditambahkan pada awal list.
["kelapa","jeruk", "apel", "mangga", "duren"]
Selain prepend() dan append() kita juga dapat menggunakan method insert() untuk menambahkan item pada indeks yang kita inginkan.


Contoh Codingnya:
#list buah
buah = ["jeruk", "apel", "mangga", "duren"]
buah.insert(2, "kelapa")
Maka list akan menjadi seperti :
["jeruk", "apel","kelapa", "mangga", "duren"]

Membuat Program Python dengan List

Sekarang mari kita coba membuat program dengan memanfaatkan method prepend() dan append().

Silahkan langsung di ketik dan dicoba coding program dibawah :

# Membuat list kosong untuk menampung hobi
hobi = []
stop = False
i = 0
# Mengisi hobi
while(not stop):
    hobi_baru = raw_input("Inputkan hobi yang ke-{}: ".format(i))
    hobi.append(hobi_baru)
    # Increment i
    i += 1
    tanya = raw_input("Mau isi lagi? (y/t): ")
    if(tanya == "t"): 
        stop = True
# Cetak Semua Hobi
print "=" * 10 
print "Kamu memiliki {} hobi".format(len(hobi))
for hb in hobi:
    print "- {}".format(hb)


Coba eksekusi dan inputkan sebuah nilai hoby yang kamu inginkan maka hasilnya akan seperti ini :

Berkenalan Dengan Struktur Data List Pada Python



Cara Menghapus Item di List

Untuk menghapus salah satu nilai dari List, kita dapat menggunakan perintah del.

Perintah del akan menghapus sebuah nilai dari memori variabel.

Contoh Codingnya:

# Membuat List
todo_list = [
    "Balajar Python",
    "Belajar PHP",
    "Belajar HTML",
    "Belajar CSS",
    "Belajar JAVA"
]
# Misalkan kita ingin menghapus "Belajar CSS"
# yang berada di indeks ke-3
del todo_list[3]
print todo_list


Hasilnya, "Belajar CSS" akan dihapus:

Berkenalan Dengan Struktur Data List Pada Python

Selain menggunakan perintah del, kita juga dapat menggunakan method remove() dengan paramter nilai yang ingin dihapus.

Contoh Codingnya:

# list huruf
huruf = ["a", "b", "c", "d"]
# kemudian kita hapus c
huruf.remove("c")
print huruf

Hasilnya:

Berkenalan Dengan Struktur Data List Pada Python


Memotong list

Seperti type data string, list juga dapat dipotong-potong.

Contoh Codingnya :

# Kita punya list warna
warna = ["merah", "hijau", "kuning", "biru", "pink", "ungu"]
# Kita potong dari indeks ke-1 sampai ke-5
print warna[1:5]
Hasilnya indeks 0[merah] & 6[ungu] tidak akan ditampilkan:
['hijau', 'kuning', 'biru', 'pink']

Penggunaan Operasi Pada List

Ada beberapa operasi yang bisa dilakukan pada List, diantaranya:

  • Penggabungan (+)
  • Perkalian (*)
Contoh Codingnya:
# list lagu
list_lagu = [
    "The Beginning",
    "Dear God"
]
# list lagu favorit
playlist_favorit = [
    "Break Out",
    "Now Loading!!!"
]
# Mari kita gabungkan keduanya
semua_lagu = list_lagu + playlist_favorit
print semua_lagu
Hasilnya:
['The Beginning, No Cry', 'Dear God', 'Break Out', 'Now Loading!!!']
Sedangkan untuk operasi perkalian hanya dapat dilakukan dengan nilai yang berupa bilangan.

Contoh Codingnya:

# playlist lagu favorit
playlist_favorit = [
    "The Beginning",
    "Now Loading!!!"
]
# ulangi sebanyak 5x
ulangi = 5
now_playing = playlist_favorit * ulangi
print now_playing
Hasilnya:
['The Beginning', 'Now Loading!!!', 'The Beginning', 'Now Loading!!!', 'The Beginning', 'Now Loading!!!', 'The Beginning', 'Now Loading!!!', 'The Beginning', 'Now Loading!!!']

List Multi Dimensi

Pada materi di atas, kita hanya membuat program list satu dimensi saja.

List dapat juga memiliki lebih dari satu dimensi atau disebut dengan multi dimensi.

List multi dimensi biasanya digunakan untuk menyimpan struktur data yang kompleks seperti tabel, matriks, graph, tree, dsb.

Contoh Codingnya:
# List minuman dengan 2 dimensi
list_minuman = [
    ["Kopi", "Susu", "Teh"],
    ["Jus Apel", "Jus Melon", "Jus Jeruk"],
    ["Es Susu", "Es Campur", "Es Teler"]
]
# Cara mengakses list multidimensi
# misalkan kita ingin mengambil "Es Susu"
print list_minuman[2][0]

Angka dua 2 pada kode di atas, menujukan indeks list yang akan kita akses. Kemudian setelah dapat list-nya baru kita ambil isinya.

Hasil outputnya:
"Es Susu"
Bagaimana kalau kita ingin menampilkan semua isi dalam list multi dimensi diatas?

Berikut caranya, Coba dengan menggunakan perulangan bersarang.
# List minuman dengan 2 dimensi
list_minuman = [
    ["Kopi", "Susu", "Teh Manis"],
    ["Jus Apel", "Jus Melon", "Jus Jeruk"],
    ["Es Susu", "Es Campur", "Es Teler"]
]
for menu in list_minuman:
    for minuman in menu:
        print minuman
Hasilnya:
Kopi
Susu
Teh Manis
Jus Apel
Jus Melon
Jus Jeruk
Es Susu
Es Campur
Es Teler

Learning Looping In Python Program

Studying Recurrence In Python Program

Looping in all programming languages ​​to work for a computer to do something over and over again. There are two types of Looping the python programming language, which is looping using for and use while.

Looping for the programming language that is commonly called a counted loop iteration that can be counted, while the while loop that is commonly called uncounted loop iteration that can not be calculated. The difference in the two is: 
Looping with for normally used to repeat execute code already known to the large number of iteration. As for use while typically used for loops that have terms and do not have the number of how many recurrence.

1.) The loop with For

General shape for the python syntax:
for index in range (number_of_looping): 
    # run this code 
    # run this code also 
#this code will not be repeated because it is outside for
Example coding programs:
# file: Example LoopingFor.py
re = 10
for i in range (reset):
     print "Repeat Number-" + str (i)


Explanation of coding:
we determine a lot of recurrence by 10 times with the following statement
re = 10
The variable i serves to accommodate the number of indexes, and function range () function to create a list with the range of 0-10. The function str () function changes the data type of integer to a string.
for i in range(re):
    print "Repeat Number-"+str(i)

The result:

Learning Looping In Python Program
Examples of other coding program using the list for:
# file: ExampleLoopingFor.py
items = ['rice', 'side dishes', 'tea', 'crackers']
for contents in items:
     print contents

The result:

Learning Looping In Python Program

2. )The Loop with While

General shape while the python syntax:
while (True): 
    # run this code 
# This code is outside the while loop
Example coding programs:
#file: ExampleLoopingWhile.py
answer='yes'
count=0
while(answer=='yes'):
  count+=1
  answer=raw_input ("Want to loop again?")
print "Total looping:"+str(count)

Or you can try with a shape like this, using the key words break
#file: ExampleLoopingWhile.py
answer = 'yes'
count = 0
while (True):
  count += 1
  answer = raw_input ("Want to loop again?")
  if answer == 'no':
   break
print "Total looping:" +str (count)


Explanation Coding:
In the first line we define a variable to count, and also determines when the loop will stop. if the answer is not then the loop stops.
answer = 'yes' 
count = 0
Then next looping with while, then add one count variable to store the value of each repeat. Then ask the user, whether to stop repeating or not?
while (answer == 'yes'): 
  count + = 1 
  answer = raw_input ( " Want to loop again?  ")
Once completed redo, print the number of times of looping occurs
print "Total Looping: " + str(count)
Results:
fajaryusufcom @ example: ~ $ python ExampleLoopingWhile.py 
Want to loop again?  yes 
Want to loop again?  yes 
Want to loop again?  yes 
Want to loop again?  yes 
Want to loop again?  yes 
Want to loop again? no 
Total looping: 6
 Learning Looping In Python Program

Mempelajari Perulangan Pada Program Python

Mempelajari Perulangan Pada Program Python

Perualangan pada semua bahasa pemrograman berfungsi untuk komputer melakukan sesuatu secara berulang-ulang. Ada dua jenis perualangan pada bahasa pemrograman python, yaitu perulangan dengan menggunakan for dan menggunakan while.

Perulangan for pada bahasa pemrograman biasa disebut counted loop yaitu perulangan yang dapat dihitung, sementara perulangan while biasa disebut uncounted loop yaitu perulangan yang tidak dapat dihitung. Perbedaan di keduanya adalah : 
Perulangan dengan for biasanya digunakan untuk mengulangi execute kode yang sudah diketahui banyaknya jumlah perulangan. Sementara untuk penggunaan while biasanya digunakan untuk perulangan yang memiliki syarat dan tidak memiliki jumlah tentu berapa banyak perulangannya.

1.) Perulangan dengan For

Bentuk syntax umum for pada python:
for indek in range(banyaknya_perulangan):
    # jalankan kode ini
    # jalankan juga kode ini
#kode ini tidak akan diulang karena berada di luar for
Contoh coding programnya :

# file: ContohPerulanganFor.py
ulang = 10
for i in range(ulang):
    print "Perulangan ke-"+str(i)


Penjelasan coding :
kita menentukan banyak perulangannya sebanyak 10 kali dengan statement berikut
ulang = 10
Variabel i berfungsi untuk menampung jumlah indeks, dan fungsi range() berfungsi untuk membuat list dengan range dari 0-10. Fungsi str() berfungsi merubah tipe data dari integer ke string.
for i in range(ulang):
    print "Perulangan ke-"+str(i)

Hasilnya :

Mempelajari Perulangan Pada Program Python

Contoh coding program yang lain menggunakan list dengan for :

# berkas: ContohPerulanganFor.py
item = ['nasi','lauk','teh','kerupuk']
for isi in item:
    print isi

Hasilnya:

Mempelajari Perulangan Pada Program Python

2. Perulangan dengan While

Bentuk syntax umum while pada python:
while(True):
    # jalankan kode ini
# kode ini berada di luar perulangan while
Contoh coding programnya :

# berkas: ContohPerulanganWhile.py
jawab = 'ya'
hitung = 0
while(jawab == 'ya'):
 hitung += 1
 jawab = raw_input("Ingin ulang lagi? ")
print "Total perulagan: " + str(hitung)

Atau anda juga bisa mencoba dengan bentuk yang seperti ini, dengan menggunakan kata kuci break

# berkas: ContohPerulanganWhile.py
jawab = 'ya'
hitung = 0
while(True):
 hitung += 1
 jawab = raw_input("Ingin ulang lagi? ")
 if jawab == 'tidak':
  break
print "Total perulagan: " + str(hitung)


Penjelasan Coding :
Pada line pertama kita menentukan variabel untuk menghitung, dan juga menentukan kapan perulangan akan berhenti. kalau pengguna menjawab tidak maka perulangan akan terhenti.
jawab = 'ya'
hitung = 0
Lalu berikutnya melakukan perulangan dengan while, kemudian menambah satu variabel hitung untuk menyimpan nilai setiap kali mengulang. Lalu menanyakan kepada pengguna, apakah mau berhenti mengulang atau tidak?
while(jawab == 'ya'):
  hitung += 1
  jawab = raw_input("Ingin ulang lagi? ")
Setelah selesai mengulang, cetak berapa kali dari perulangan tersebut terjadi
print "Total perulagan: " + str(hitung)
Hasil:
fajaryusufcom@contoh:~$ python ContohPerulanganWhile.py
Ingin ulang lagi? ya
Ingin ulang lagi? ya
Ingin ulang lagi? ya
Ingin ulang lagi? ya
Ingin ulang lagi? ya
Ulang lagi tidak? tidak
Total perulagan: 6
Mempelajari Perulangan Pada Program Python 

Saturday, January 19, 2019

Membuat Sertifikat dan Kunci Server untuk webMethods

Pendahuluan #
Secure Sockets Layer (SSL) adalah seperangkat protokol kriptografi yang menyediakan komunikasi melalui jaringan, yang paling penting dari jaringan ini nantinya akan menjadi internet publik. SSL dan penggantinya TLS (Transport Layer Security) didasarkan pada standar IETF. Mengaktifkan SSL / TLS koneksi  digunakan untuk memastikan komunikasi yang aman antara klien dan server.
Artikel ini memberikan informasi untuk memungkinkan anda :
  • Membuat sertifikat dan kunci yang dibutuhkan oleh webMethods Server untuk SSL. 
  • Membuat keystore java dan mengimpor sertifikat ke dalam keystore java. 
  • Membuat rantai sertifikat.
Informasi yang tersedia untuk digunakan pada webMethods Server meliputi:
  • Mengimpor CA Sertifikat. 
  • Mengganti Keystores jika webMethods Server Berjalan sebagai aplikasi. 
  • Mengganti Keystores jika saya webMethods Server Berjalan sebagai Layanan. 
  • Menghasilkan Sandi Encrypted. 
  • Berkomunikasi dengan Aplikasi webMethods Menggunakan HTTPS. 
  • Managing Otentikasi Sertifikat sebagai My webMethods Administrator.
Asumsi #
Artikel ini mengasumsikan bahwa konfigurasi sedang dilakukan pada platform UNIX oleh administrator yang berpengalaman dan berkualitas. Seorang administrator keamanan yang berkualitas harus mampu beradaptasi dengan petunjuk Windows jika diperlukan.
Terminologi #
Istilah ini digunakan dalam dokumen ini dan juga digunakan dalam webMethods dokumentasi suite.
  • Sertifikat adalah dokumen elektronik utama yang digunakan untuk memberikan kunci publik. Server menyediakan sertifikat / kunci publik untuk klien yang meminta koneksi (misalnya, web browser). Klien menggunakan kunci publik untuk mengenkripsi data yang dikirim ke server. Server juga memegang kunci pribadi, yang hanya diketahui server, dan hanya kunci yang dapat mendekripsi data klien yang dienkripsi dengan kunci publik. Selain itu, sertifikat menyediakan informasi tentang Otoritas Sertifikat (CA) yang menandatangani sertifikat. Sertifikat ini berguna sebagai bukti sehingga jika ada byte dalam file berubah, sertifikat menjadi tidak sah. Format file yang dikenal sebagai X.509. 
  • TrustStore adalah gudang sertifikat terpercaya. Sebuah sertifikat terpercaya adalah sertifikat yang ditandatangani oleh Certificate Authority eksternal (misalnya, VeriSign) yang dikenal sebagai entitas yang terpercaya. Sertifikat tambahan dari CA terpercaya yang dipercaya secara implisit juga. Sebuah sertifikat dari CA tingkat atas tidak dapat dibuktikan oleh beberapa CA lain yang lebih tinggi, sehingga sertifikat yang bersertifikat root. Sertifikat tersebut juga disebut "ditandatangani sendiri." Dokumentasi Java mengacu pada setiap entri sertifikat dalam truststore sebagai entri sertifikat terpercaya. 
  • Keystore adalah repositori mirip dengan truststore, kecuali pembedanya adalah bahwa keystore mengandung satu atau lebih pasang sertifikat yang ditandatangani (kunci publik) dan sebuah kunci pribadi, ditambah kunci perantara. Dokumentasi Java mengacu pada setiap entri keystore sebagai entri kunci. 
  • Java Keystore adalah gudang sertifikat dan kunci dalam format yang khusus untuk Java. Format file disebut sebagai JKS. The Java keystore biasanya berisi sertifikat dan kunci, dan akan ditambahkan, diperbarui, dan dihapus menggunakan utilitas yang disebut keytool. Hal ini juga memungkinkan untuk memperbarui repositori pemrograman, misalnya, untuk menambahkan kunci pribadi. 
  • OpenSSL merupakan implementasi open source dari SSL dan protokol TLS. Hal ini juga dilengkapi dengan openssl utilitas, yang dapat digunakan untuk membuat dan mengkonversi sertifikat. OpenSSL biasanya datang dalam bentuk sumber, meskipun ada distribusi biner untuk Windows. Kebanyakan distribusi UNIX memiliki versi disertakan dengan sistem operasi dasar, tetapi jika anda ingin versi terbaru, hal itu harus di-download dan dikompilasi. OpenSSL juga mungkin datang dengan CA.pl pembantu utilitas berbasis Perl yang dapat anda gunakan untuk membuat CA root dan telah menandatangani sertifikat.
File Format #
sertifikat SSL dan kunci datang dalam berbagai format; Namun, ada beberapa format umum yang sering ditemui.
Truststore Format #
Seperti disebutkan sebelumnya, truststore adalah kumpulan dari sertifikat terpercaya. Sertifikat berisi kunci publik. Dua format umum adalah:
  • PEM atau CER file adalah sertifikat X.509 secara individu. Ini adalah format yang biasanya dihasilkan oleh otoritas sertifikat. Ekstensi file lainnya termasuk .crt dan .KEY. 
  • File JKS adalah keystore Java yang dapat berisi beberapa sertifikat X.509. Biasanya asosiasi setiap sertifikat dengan alias.
Format keystore #
Seperti disebutkan sebelumnya, keystore mengandung satu atau lebih koleksi kunci publik dan sebuah kunci pribadi. Dua format umum untuk hal ini adalah:
  • PFX atau file P12 adalah file biner format yang berisi kunci publik, kunci pribadi, dan setiap kunci menengah. 
  • File JKS adalah keystore java yang berisi kunci yang sama dan bersertifikat sebagai berkas PFX atau P12. Membuat keystore dengan kunci pribadi tidak bisa secara pribadi langsung, tetapi ada alat yang tersedia untuk membantu dalam menciptakan ini.
Key / Sertifikat Format #
My webMethods Server menggunakan JKS sebagai format keystore.
Tentang My webMethods SSL #
Secara default, ketika My webMethods Server terinstal, dibuat dengan sertifikat terpercaya ditandatangani sendiri dengan keystore, yang berarti anda tidak harus melakukan semua prosedur di bawah ini untuk melaksanakan SSL. Set lengkap prosedur tersedia di bawah ini dalam langkah yang anda ingin lakukan untuk membuat sertifikat tambahan atau keystores.
Membuat Sertifikat #
Umumnya, setiap pelanggan Software AG bertanggung jawab untuk menciptakan sertifikat yang diperlukan. Bagian ini menjelaskan cara membuat sertifikat yang ditandatangani sendiri dari awal sampai akhir, dan bagaimana mengkonversi dan membuat semua format file yang diperlukan.
Alat #
Alat-alat berikut ini diperlukan untuk menghasilkan truststores dan keystores:
Java Keytool #
Sebuah instalasi Java Runtime (JRE) atau instalasi Pengembang Java (JDK) harus diinstal. Jika anda telah mempunyai produk webMethods Suite yang sudah diinstal, maka runtime Java sudah terpasang. Java \ direktori bin berisi utilitas keytool. Ketik keytool- membantu anda dalam baris perintah untuk mendapatkan daftar lengkap pilihan cara menggunakan keytool.
OpenSSL #
OpenSSL adalah sebuah proyek open source yang mengimplementasikan SSL dan TLS protokol. Ini berisi utilitas openssl. OpenSSL tersedia dari http://www.openssl.org/ . Hal ini dowloadable dalam bentuk sumber saja dan harus dikompilasi. Namun, banyak distribusi UNIX telah berisi salinan pre-built OpenSSL. Jika tidak, anda harus mendapatkan dan mengkompilasi kode sumber. Untuk instalasi Windows, anda dapat memperoleh pre-built distribusi biner download dari http://www.slproweb.com/products/Win32OpenSSL.html .
Menghasilkan Self-Signed Certificate #
Langkah-langkah berikut ini memberikan petunjuk untuk membuat sertifikat yang ditandatangani sendiri dengan kunci, dan untuk mengkonversikannya ke dalam format yang diharapkan oleh produk webMethods.
Saat nda diminta untuk password, anda disarankan untuk menggunakan password yang sama secara konsisten pada seluruhnya. Pastikan bahwa password sesuai dengan yang diterima standar “password yang kuat”.
Seperangkat sertifikat harus dihasilkan untuk setiap produk.
Pertama, membuat direktori sertifikat untuk setiap produk yang anda ingin :
cd /home/webMethods

mkdir -p ./certificates/<produk>
Menghasilkan Private Key(.key) #
Gunakan perintah berikut untuk menghasilkan RSA Key pribadi dengan 1024 bit (Anda akan diminta untuk menyediakan passphrase):
openssl genrsa -des3 -out private_server.key 1024
Menghasilkan Pendaftaran Request(.csr) #
Gunakan perintah berikut untuk membuat permintaan penandatanganan yang akan ditandatangani sendiri kemudian anda akan diminta untuk memberikan berbagai nilai-nilai seperti negara, negara bagian, dan sebagainya. Yang paling penting dari bidang ini adalah “Common Name”. Untuk My webMethods Server, masukkan nama host yang memenuhi syarat sebagai Common Name:
openssl req -new -key private_server.key -out signingrequest.csr
Menghilangkan Passphrase dari Private Key #
Gunakan perintah berikut untuk menghapus kata sandi dari kunci pribadi:
cp private_server.key private_server.key.orig

openssl rsa -in private_server.key.orig -out private_server.key
Menghasilkan Self-Sign sertifikat(.pem)  #
Gunakan perintah berikut untuk melakukan request dan membuat sertifikat yang ditandatangani sendiri, berlaku selama satu tahun. Sertifikat yang ditandatangani sendiri bernama 'server.pem':
openssl x509 -req -days 365 -in signingrequest.csr -signkey private_server.key -out server.pem
Impor Sertifikat menjadi Java Keystore (.jks) #
Gunakan perintah berikut untuk mengimpor sertifikat yang dihasilkan menjadi keystore Java dan mengasosiasikannya dengan sebuah alias; dalam perintah ini bernama 'mykey', tetapi anda dapat mengganti nilai yang berbeda. Nama keystore truststore adalah 'server.jks'. Anda akan diminta untuk menyediakan password keystore java, dan untuk memverifikasi bahwa anda percaya pada sertifikat :
keytool-impor-file server.pem -keystore server.jks -alias mykey -trustcacerts
Paket sertifikat PEM dan Private Key sebagai PKCS#12 (.pfx) #
Gunakan perintah berikut untuk paket sertifikat publik (dengan kunci publik) dan kunci pribadi ke dalam format biner disebut PKCS # 12, disebut sebagai keystore (dikarenakan server yang menggunakan keystore ini). Nama PKCS#12 keystore adalah 'certificate.pfx':
openssl pkcs12 Ekspor -out certificate.pfx -inkey private_server.key -in server.pem
Impor Private Key dan Sertifikat Umum ke Java Keystore #
Utilitas Java keytool tidak dapat mengimpor kunci pribadi. Untuk melakukannya, anda harus menggunakan alat eksternal yang menggunakan API Java Cryptography, dan sebuah contoh dari PKCS12 Import diperlukan. Anda akan diminta untuk memasukkan password, tetapi berhati-hati karena password yang muncul ke layar. Gunakan salah satu metode berikut:
  • Jika anda memiliki My webMethods Server yang diinstal, pelaksanaan Jetty di dalamnya berisi versi PKCS12Import. Gunakan perintah berikut:
CLASSPATH =/opt/softwareag/MWS/lib/ext/jetty-util.jar:/opt/softwareag/MWS/lib/ext/jetty.jar

CLASSPATH ekspor

certificate.jks certificate.pfx java org.mortbay.jetty.security.PKCS12Import
  • Jika Anda memiliki contoh yang terpisah dari PKCS12Import.jar (misalnya, dari GlassFish), Anda dapat menggunakan perintah ini. Keystore berbasis Java-keystore bernama 'certificate.jks':
java -classpath pkcs12import.jar com.sun.xml.wss.tools.PKCS12Import-file certificate.pfx -alias mykey -keystore certificate.jks
Hasil #
Langkah-langkah di atas menghasilkan empat file berikut:
  • Server.pem - Sertifikat Terpercaya 
  • Server.jks - Sertifikat Terpercaya dalam format Java Keystore
  • Certificate.pfx - Keystore Format PKCS#12 
  • Certificate.jks - Keystore dengan format Java Keystore
Menghidupkan Rantai Sertifikat untuk My webMethods Server #
Untuk situs web eksternal yang perlu diamankan, Certificate Authority eksternal (CA) seperti VeriSign diperlukan untuk menandatangani permintaan sertifikat anda. Hampir semua browser akan memiliki salinan sertifikat publik mereka. Browser download sertifikat dari sebuah situs web, menentukan otoritas yang menandatanganinya, dan jika sertifikat penandatanganan otoritas adalah dalam daftar browser sertifikat yang terpercaya, maka website ini juga dipercaya (disediakan aspek lain dari sertifikat juga berlaku). Jika tidak, browser menampilkan pesan bahwa ada masalah sertifikat.
Untuk penggunaan internal, anda dapat membuang CA eksternal yang terlibat, karena mungkin untuk mendirikan sebuah CA. internal organisasi sertifikat CA publik dipasang di semua browser akan menghubungkan apa pun yang ditandatangani oleh CA internal yang akan dipercaya juga.
Langkah selanjutnya ini berisi petunjuk singkat tentang cara:
  • Membuat otoritas sertifikat internal. 
  • Membuat permintaan penandatanganan dan mendapatkan CA internal yang ditandatangani . 
  • Menghasilkan keystore Java untuk digunakan oleh webMethods Server. 
  • MengInstal sertifikat CA internal dan menguji webMethods Server.
Membuat Otoritas Sertifikat internal #
Prosedur ini mengharuskan skrip Perl (CA.pl) yang dapat didownload dari berbagai sumber di internet jika itu bukan bagian dari OpenSSL yang sudah diinstal pada sistem anda. Untuk platform Windows, juru Perl juga diperlukan.
The CA.pl Script menciptakan sebuah direktori bernama demoCA, dan juga menghasilkan kunci pribadi dan publik untuk CA root.
1. Buat sebuah direktori yang akan menampung semua file Otoritas Sertifikat internal dengan menjalankan skrip Perl dengan perintah berikut:
/usr/local/openssl/CA.pl -newca
2. Buat salinan kunci publik hanya dengan sertifikat: cp demoCA/cacert.pem demoCA/myca.pem
3. Buka file kunci untuk mengedit:
vi demoCA/myca.pem
4. Hapus segala sesuatu yang ada di atas “----- BEGIN CERTIFICATE -----”.
5. Simpan file.
Buat Permintaan Penandatanganan dan Menandatangani Permintaan #
Berikutnya, membuat permintaan penandatanganan dan menandatanganinya menggunakan CA root internal.
1. Dalam direktori 'demoCA', buat permintaan penandatanganan:
cd demoCA

openssl req -nodes -baru -keyout swasta/server.key -out server.csr -days 365
2. Kemudian menandatanganinya menggunakan root CA:
cd ..

openssl ca -config openssl.cnf-kebijakan policy_anything -out demoCA/sertifikat/server.crt -infiles demoCA/server.csr
3. Setelah sertifikat ditandatangani, permintaan penandatanganan (demoCA / server.csr) dapat dihapus.
Menghasilkan Java Keystore yang sekarang memiliki salinan kunci privat dan publik untuk kedua CA akar dan server. 
Sebuah keystore java harus diciptakan untuk mengandung kunci privat dan publik untuk server dan sertifikat CA root publik. Ini melibatkan untuk menciptakan file PKCS#12 dan mengimport menjadi keystore Java menggunakan PKCS12Import. Gunakan perintah ini:
openssl pkcs12 Ekspor -out certificate.pfx -inkey demoCA/swasta/server.key -dalam demoCA/sertifikat server.crt -certfile demoCA / cacert.pem

CLASSPATH =/opt/softwareag/MWS/lib/ext/jetty-util.jar:/opt/softwareag/MWS/lib/ext/jetty.jar

CLASSPATH ekspor

certificate.jks certificate.pfx java org.mortbay.jetty.security.PKCS12Import

keytool-impor-file demoCA/myca.pem -keystore certificate.jks -trustcacerts
Hasilnya adalah bahwa anda akan memiliki file (certificate.jks) yang dapat anda instal ke dalam webMethods.
Instal Internal CA Sertifikat Umum #
Untuk mengaktifkan browser untuk mempercayai sertifikat yang datang dari webMethods Server, Anda harus menginstal sertifikat root CA ke dalam cache  browser.
1.   Copy sertifikat publik (myca.cer) ke sistem file pada sistem di mana browser sedang berjalan. Kemudian instal sertifikat:
  • Mozilla Firefox: Tools> Options> tab Advanced> tab Encryption> View Sertifikat> Impor . Browse ke myca.cer dan klik Sertifikat ini dapat mengidentifikasi situs web . Klik OK . 
  • Internet Explorer: Tools> Internet Options> Content Tab> Sertifikat> Impor . Ikuti wizard: Klik Berikutnya . Browse ke myca.cer kemudian klik Berikutnya .Di bawah Tempatkan semua sertifikat di bawah toko berikut , klik People . pilih Trusted akar Otoritas Sertifikasi . Klik Berikutnya dan kemudian klik Finish . Anda memperingatkan bahwa Internet Explorer tidak dapat memvalidasi sertifikat. Klik Yes untuk menginstal. 
  • Opera: Menu> Settings> Preferences> tab Advanced> Security . Klik Kelola Sertifikat . Klik Pihak berwenang tab, lalu klik Impor . Browse ke myca.cer, dan kemudian klik Install . Klik OK . 
  • Chrome: Klik ikon tool (kanan atas, di sebelah kanan address bar). Klik Options . Pilih Di bawah Hood tab. Gulir ke bawah ke Keamanan bagian dan klik Kelola Sertifikat . Pilih Otoritas Sertifikat Root Terpercaya tab lalu klik Impor . Ikuti wizard: Klik Berikutnya . Browse ke myca.cer kemudian klik Berikutnya , klik Berikutnya , lalu klik Finish dan Tutup .
9