Pages

Membuat SSL Certificate Sendiri

Di postingan ini ane mau share bagaimana cara membuat certificate SSL sendiri. Pembahasan ini adalah hasil pengujian dan penerapan dalam pengerjaan suatu project di organisasi yang ane kerjain gan.. hehe
Kalau yang ingin mengetahui secara detail apa itu SSL Certificate, agan bisa merujuk ke situs Wikipedia atau nanti akan saya buatkan satu postingan yang khusus membahas teori tentang SSL Certificate yang sudah ane pelajari.

Untuk bahan-bahan yang diperlukan adalah 
  1. Tools OpenSSL,
  2. Command Prompt bila di Windows agan create nya, tetapi bila agan create di Linux juga bisa
  3. Ama kopi gan hehe,, yg ini abaikan karena ga penting :D

Lanjut ke proses membuatnya :
  • Membuat private key untuk Certificate
  • Buat permohonan persetujuan sertifikat, dalam bahasa Inggris disebut Certificate Signing Request (CSR)
  • Membuat CA Buatan sendiri untuk proses penandatangan Certificate yang kita buat nanti
  • Penyetujuan CSR yang telah dibuat dengan menggunakan CA server yang buatan sendiri.

Membuat private key untuk Certificate

  1. Buka OpenSSL nya
  2. Setelah itu pindahkan root directory nya menjadi C:\Program Files (x86)\GnuWin32\bin
  3. Lalu untuk membuat Private key ketikan berikut : openssl genrsa -aes256 2048 > nama_key_agan.key
  4. Bila muncul dialog untuk memasukan password key, silakan input
  5. Setelah selesai akan muncul file dengan nama yang agan buat tadi dan format .key. File tersebut agan simpan dan tidak boleh ada yg memiliki nya karena file tersebut sensitif bagi keamanan jaringan agan.

Buat file CSR

  1. Ketik perintah berikut :  openssl req -new -key nama_key_agan.key -out nama_csr_agan.csr
  2. Lalu isikan kolom yang tersedia dengan informasi yang agan ingin tampilkan pada Certificate nantinya
  3. Setelah agan melakukan pembuatan file untuk permintaan request kepada CA dengan fil CSR maka proses penandatanganan CSR agan akan dilakukan tahan berikut nya. CA yang kita gunakan ini adalah CA buatan sendiri sehingga pada web browser jika membuka situs akan menampilakn peringatan. Tetapi bila CSR agan beri ke CA server yang asli, maka HTTPS agan akan berwarna hijau. File CSR agan bisa diambil dan diberikan kepada pihak CA server, file ini tidak bersifat private.


Membuat CA Buatan Sendiri

  1. Ketik perintah berikut : openssl genrsa -aes256 2048 > nama_ca_agan.key
  2. Selanjutnya kita buat certificate yang mewakili CA agar bisa dikenali untuk menandatangani CSR milik kita. Perintah sebagai berikut : openssl req -new -x509 -days 365 -key nama_ca_agan.key > nama_cert_ca.crt
  3. Lalu copy-paste kan script ini ke notepad. Lalu Save dengan nama Openssl_config.txt
  4. [ca]
    default_ca         = ca-palsu


    [ca-palsu]
    dir                = ca-palsu

    # sertifikat dan private key CA
    certificate        = $dir/ca.crt
    private_key        = $dir/ca.key

    # Folder penyimpanan
    cert               = $dir/sertifikat-customer
    new_certs_dir      = $dir/sertifikat-customer
    crl                = $dir/sertifikat-batal

    # Database sertifikat yang sudah dikeluarkan
    database           = $dir/database.txt
    serial             = $dir/serial.txt

    # Nilai default untuk sertifikat baru
    default_days       = 365               # masa berlaku sertifikat customer
    default_crl_days   = 30                # masa berlaku daftar pembatalan sertifikat
    default_md         = sha1
    x509_extensions    = usr_cert

    # Konfigurasi tambahan
    policy = policy-saya
    x509_extensions = certificate_extensions

    [ policy-saya ]
    # Gunakan informasi dalam CSR
    commonName = supplied
    stateOrProvinceName = supplied
    countryName = supplied
    emailAddress = supplied
    organizationName = supplied
    organizationalUnitName = optional

    [ certificate_extensions ]
    # Sertifikat customer tidak boleh jadi CA
    basicConstraints = CA:false

    [ req ]
    # private key yang digunakan untuk menyetujui CSR
    default_keyfile = ca-palsu/ca.key
  5. Untuk menampung file-file CA kita buatkan folder tersendiri, contoh nama folder yaitu CA.
  6. Lalu kita buatkan file Notepad, lalu isi dari file tersebut isi saja angka 1000 dan kita save dengan nama Serial.txt
  7. Lalu kita buatkan file Notepad, isi file tersebut biarkan saja kosong dan save dengan nama Database.txt, serta buatkan lagi dengan Notepad isi file tetap kosong. Save dengan nama Database.txt.attr
  8. Bila sulit dalam pengaturan file, agan bisa download file jadi nya. Sudah saya sediakan disini


Penandatanganan CSR

  1.  Ketikan perintah berikut : openssl ca -config openssl-config.txt -in ca-palsu/sertifikat-request/nama_csr_agan.csr
  2. Selesai sudah penandatanganan Certificate, dan agan bisa ambil certificate yang sudah jadi di folder yang telah disiapkan.

Bila ada pertanyaan atau komentar, bila berkenan silakan komentar nya gan di bawah postingan ini.. hehe
Tunggu postingan lainnya yaa....

Download file konfigurasi CA


4 comments

  1. Mana tools open ssl nya gan
    Share donk open ssl-nya

    ReplyDelete
    Replies
    1. ente pake Linux apa Windows gan?
      T
      ar.gz https://www.openssl.org/source/
      .exe https://www.openssl.org/related/binaries.html

      thanks udah mampir gan.. :)

      Delete
  2. sorry Gan yang penandatanganannya eror tuh tulisannya
    using configuration from openssl-config.txt
    loading eror bla bla
    eror bla blaa
    banyak gan tulisan erornya terus suruh tu;is balik openssl ca -config openssl-config.txt -in ca-palsu/sertifikat-request/nama_csr_agan.csr
    dah di tulis udah di cek juga masih eror gan...
    please gan cara jalan keluarnya sama jelasin yang lebih lengkap lagi gan kalau perlu update gambarnya eror dan jalan keluarnya

    ReplyDelete
    Replies
    1. agan perlu file openssl-config.conf nya

      nih script openssl.conf nya
      http://www.phildev.net/ssl/opensslconf.html

      nanti dipaste notepad, save as .conf

      Delete

 

Most Reading