2016-04-28 40 views
5

Kendi imzalı CA oluşturma komut dosyasına bir basicConstraints=CA:TRUE,pathlen:0 kısıtlama eklemek istiyorum ve eğer gerekmediyse yordamımı basitleştirmek için çok uzun bir yol olurdu bir yapılandırma dosyası ve uygun bir CA'nın tüm klasör yapısını oluşturun. Herhangi bir komut satırı aracılığıyla openssl cert için basicConstraints belirtmek için zaten var mı?

Ben sadece uç levhası, değil başka CA'ları oturum açabilirsiniz bir ara sertifika oluşturmak çalışıyorum. Diğer tüm sertifikaları imzalamak için bouncycastle kullanacağım, uygun bir CA için yaratmam gereken klasör yapısı zaten kullanılmayacak.

+0

Bu yazılım geliştirme konusunda soru değil gibi görünüyor. Üstelik şu anda kullandığınız parametreleri dahil etmiyorsunuz. Genellikle openssl.exe, "basicConstraints" öğesini otomatik olarak "Subject Type = CA" ve "Path Length Constraint = None" olarak sertifikaya dahil edecektir. I güvenilir 'Openssl ecparam -kasa myCA.key -adı secp384r1 -genkey' ve 'Openssl Tlp -x509 -yeni -sha384 tuşlu myCA.key -kasa myCA.pem -outform PEM -Days 3650 -subj "/ C = DE/O = Tamam yumuşak GmbH/OU = Araştırma/CN = CA Kurumu ". Biri, v3_ca'ya 'v3_ca' veya' openssl.cfg''ye referans vermek için ekleyebilir, ancak bir tanesi aynı sonuçlara sahip olacaktır. – Oleg

+0

Ben size 'openssl.cfg' ait req' bölümü' x509_extensions = v3_ca' girişi içerir 'doğrulamak için önerilir. Sanırım CA sertifikasını başka bir şekilde ('openssl req ...' kullanarak değil) oluşturuyorsunuz ve sorunun sebebi de bu. – Oleg

+0

CA'yı şu şekilde oluşturun: 'openssl genrsa -des3 -out $ KEYS_DIR/ca.key 4096' ' openssl req -new -x509 -gün 36500-anahtar $ KEYS_DIR/ca.key -out $ KEYS_DIR/ca .crt 'Ben sadece ikinci satırına basicConstraint eklemek için bir yol olduğunu umuyordum –

cevap

7

, OpenSSL kullanarak kendinden imzalı bir sertifika oluşturmak için bir OpenSSL yapılandırma dosyası veya herhangi bir klasör yapısı oluşturmanız gerekir.

[req] 
distinguished_name=dn 
[ dn ] 
[ ext ] 
basicConstraints=CA:TRUE,pathlen:0 

Ve burada bir Bash kabuğundan OpenSSL'yi kendinden imzalı sertifika oluşturmak: Örneğin

, burada sormak gibi minimal OpenSSL yapılandırma dosyası temel kısıtlamalar uzantısını ayarlamak için içerebilir nedir

CONFIG=" 
[req] 
distinguished_name=dn 
[ dn ] 
[ ext ] 
basicConstraints=CA:TRUE,pathlen:0 
" 

openssl req -config <(echo "$CONFIG") -new -newkey rsa:2048 -nodes \ 
    -subj "/CN=Hello" -x509 -extensions ext -keyout key.pem -out crt.pem 

İyi şanslar: - Bu "yapılandırma dosyası", yalnızca, bir dosya değil bir kabuk değişkeni var!

+1

Bu bir dosyadır. Sen sadece görmüyorsun. Ama açıkça, bir bashizm olduğunu söyleyen kudos. –