Skip to content

zaidan's blog

a newbie, writing IT-related stuff and some personal experiences

Menu
  • IT
  • Personal life/opinion
  • Linux
  • Sepeda
  • Proxmox
  • VM/Container
  • Kuliah/Catatan Kuliah
Menu

Renewal SSL Certificate Menggunakan Existing Private Key

Posted on 01/04/202629/03/2026 by Zaidan

Kadang ada situasi di mana klien atau tim akan melakukan renewal untuk SSL, namun dengan persyaratan khusus. Yaitu menggunakan private key yang sudah ada atau private key-nya tidak berubah.

Biasanya, saat kita membuat CSR (Certificate Signing Request) baru untuk pembuatan atau perpanjangan SSL, file private key baru juga akan dibuat. Namun ada beberapa kondisi tertentu seperti kebijakan keamanan spesifik (misalnya key pinning pada aplikasi spesifik yang “mengunci” key agar tidak berubah) yang mengharuskan penggunaan private key yang sudah ada.

Kali ini saya akan mencoba sharing bagaimana cara untuk melakukan hal tersebut dengan menggunakan OpenSSL di Linux.

Persiapan File Konfigurasi

Kita akan buat satu file konfigurasi (beri nama, misalnya openssl.conf). File ini merupakan konfigurasi atau template yang berisi informasi identitas perusahaan. Saat membuat CSR, OpenSSL perlu mengetahui beberapa detail seperti nama negara, nama perusahaan, dan nama domain.

Berikut ini contoh isi dari file tersebut:

[ req ]
default_bits        = 2048
distinguished_name  = req_distinguished_name

[ req_distinguished_name ]
countryName_default             = ID
stateOrProvinceName_default     = Jawa Barat
localityName_default            = Bekasi
organizationName_default        = PT Nama Perusahaan
organizationalUnitName_default  = IT Dept.
commonName                      = Common Name (misal: *.domainanda.com)

Proses Generate CSR Menggunakan Existing Key

openssl req -new \
-key commercial.key \
-out renewal_domain.csr \
-config openssl.conf
  • new: Membuat request sertifikat baru.
  • key: Menggunakan private key yang sudah ada.
  • config: Mengambil data identitas dari file konfigurasi (misalnya openssl.conf)

Verifikasi CSR dan Key

Tahapan ini dilakukan untuk memastikan CSR yang dibuat cocok atau match dengan private key yang dimaksud. Kita akan mengecek nilai modulus-nya menggunakan MD5 Hash.

# Cek  Private Key
openssl rsa -noout -modulus -in commercial.key | openssl md5

# Cek  CSR Baru
openssl req -noout -modulus -in renewal_domain.csr | openssl md5

Hasilnya harus identik/sama. Apabila hasilnya (nilai hash) berbeda, sertifikat SSL yang akan diterbitkan nantinya tidak akan bisa dipasang.

Cek Detail CSR

Gunakan perintah berikut untuk memastikan informasi pada CSR sudah sesuai.

openssl req -text -noout -in renewal_domain.csr | grep "Subject:"

Penutup

Menggunakan file private key tertentu/spesifik pada saat perpanjangan SSL merupakan salah satu skenario yang mungkin terjadi. Apabila skenario ini perlu dilakukan, “kunci”-nya adalah informasi pada file konfigurasi (seperti openssl.conf) yang sesuai dan verifikasi modulus untuk memastikan tidak ada error/mismatch antara CSR yang dibuat dengan private key-nya. Untuk tulisan kali ini sampai di sini dulu ya. Sampai jumpa. Bye.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Tulisan saya yang lain:

  • Merokok Sambil Berkendara – big no
  • Benchmarking Linux
  • Memasang Desktop Environment pada AlmaLinux Minimal
  • Cara Ubah Tema Web Interface Proxmox VE

Kategori

  • Asciidoc
  • Docker
  • IT
  • jaringan
  • Kuliah/Catatan Kuliah
  • Linux
  • Mail Server
  • Makanan/Minuman
  • Nakivo
  • Personal life/opinion
  • Proxmox
  • RedHat
  • Sepeda
  • SSL
  • Uncategorized
  • Vinchin
  • VM/Container
  • VMWare
  • Windows
  • XCP-ng

Arsip blog

  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • December 2025
  • November 2025
  • October 2025
  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023

© 2026 zaidan's blog | Powered by Superbs Personal Blog theme