Kendinden imzalı bir SSL sertifikası nasıl oluşturabilirim?


64

Web sunucumda SSL kurdum, şimdi iki dosyaya ihtiyacım var:

  • sertifika
  • bir sertifika anahtarı

Sınama amacıyla kendinden imzalı bir sertifika nasıl oluştururum?

Yanıtlar:


93

'Minimal' lezzet bile olsa Ubuntu ssl-certönceden kurulmuş bir paketle gelir , yani hiçbir şey yapmanıza gerek kalmaz.

Aradığınız dosyalar sisteminizde zaten var:

/etc/ssl/certs/ssl-cert-snakeoil.pem
/etc/ssl/private/ssl-cert-snakeoil.key


İleri:

Herhangi bir sebepten dolayı yeni bir sertifika oluşturmanız gerekiyorsa,

sudo make-ssl-cert generate-default-snakeoil --force-overwrite 

Sertifikanızın son kullanma tarihini değiştirmek istiyorsanız adresindeki make-ssl-cert betiğini değiştirebilirsiniz /usr/sbin/make-ssl-cert. 124 gibi, buna benzer bir çizgi var:

openssl req -config $TMPFILE -new -x509 -nodes \ 

-daysArgümanı ekleyerek son kullanma tarihini değiştirebilirsiniz :

openssl req -config $TMPFILE -new -days 365 -x509 -nodes \ 

Daha fazla seçenek için kılavuz sayfasındareq bulunabilir .


10
ubuntu-server 12.04 (AMI bulut görüntüsü), varsayılan olarak yüklü ssl sertifikasına sahip değildir. Ancak ssl-cert yüklendikten sonra - /etc/ssl/certs/ssl-cert-snakeoil.pem otomatik olarak kullanılabilir duruma gelir.
Stann

make-ssl-cert, kullanılacak anahtar uzunluğunu (ve diğer ayarları) alır /usr/share/ssl-cert/ssleay.cnf.
Tim Smith,

Bir web sitesini yerel bir serseri VM örneğinde test etmeye çalışırken, Google Chrome’un tamamen normal bir sertifikamış gibi davranmasını istedim. Önce VM'nin ana bilgisayar adını , VM CLI'daki komutu www.test.mydomain.comkullanarak test URL'sine (örn. ) Uyacak şekilde ayarlamak zorunda kaldım hostname. Sonra, anahtarın --force-overwriteOrtak Adı (CN) ile önerdiğiniz gibi anahtarı yeniden üretin ve ardından test URL'sini eşleştirin. Son olarak, ana makinede, anahtarı bir Güvenilir Kök Sertifika Yetkilisi olarak (Chrome'un Ayarlar / Gelişmiş'te) yüklemek bana imrenilen yeşil adres çubuğunu verdi.
Buttle Butkus

1
9 yaşındaki cert'im debian 10'a yükseltmemle çalışmayı bıraktı, bu yüzden make-ssl-certkomut benim için günü kurtardı!
Jayen

23

Daha önce de belirtildiği gibi, Ubuntu Sunucusu gerekli araçlarla birlikte gelir. Sunucu sürümünüze bağlı olarak, belirli belgelere bakmanız gerekecektir . Mevcut LTS'nin kendinden imzalı sertifika oluşturma sürecini özetlemeye çalışacağım (12.04) .

İlk önce Sertifika İmzalama İsteği (CSR) için anahtarlar oluşturursunuz:

openssl genrsa -des3 -out server.key 2048

Bir parola girip girmemek size kalmış. Bunu yaparsanız, o sertifikayı kullanan bir hizmeti her başlattığınızda (parola), parolayı girmeniz gerekir. Otoh, güvenli olandan parolası olmadan bir "güvensiz" anahtar oluşturabilirsiniz:

openssl rsa -in server.key -out server.key.insecure
# shuffle the key names to continue without passphrases
mv server.key server.key.secure
mv server.key.insecure server.key

Ve şimdi anahtardan CSR'yi oluşturacaksınız. CSR ve anahtar ile kendinden imzalı bir sertifika üretilebilir:

openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Son adım, sertifikayı ve anahtarı genellikle Debian / Ubuntu’da /etc/ssl:

sudo cp server.crt /etc/ssl/certs
sudo cp server.key /etc/ssl/private

Ve son olarak sertifika / anahtarı kullanan uygulamalar buna göre yapılandırılmalıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.