@CryptoGuy punya jawaban yang cukup bagus di sini, tapi saya ingin mengembangkannya.
Mengutip:
Anda dapat membatasi CA pihak ke-3 untuk mempercayai sertifikat (dari CA itu) yang dikeluarkan untuk daftar nama yang Anda inginkan. Bahkan jika CA pihak ketiga tidak memiliki ekstensi Name Constraints, dimungkinkan untuk menerapkannya dengan menggunakan server CA internal Anda sendiri melalui sertifikasi silang. Caranya adalah Anda menandatangani CA pihak ketiga dengan menggunakan CA internal Anda.
daun sertifikat SSL -> lintas sertifikat -> sertifikat CA Anda -> sertifikat root internal Anda.
Dan inilah cara Anda membuatnya (menggunakan CA command line OpenSSL)
Buat CA sederhana
openssl req -new -x509 -days 3650 -newkey rsa:2048 -sha256 -out root-ca.crt -keyout root-ca.key -subj "/CN=My Root CA"
Anda dapat melewati pembuatan CA perantara
Buat permintaan CA perantara, dengan Kendala Nama.
openssl req -new -days 3650 -newkey rsa:2048 -out domain-ca.req -sha256 -keyout domain-ca.key -config ossl_domain_com.cfg
Dengan ini dalam ossl_domain_com.cfg
file:
[ req ]
prompt=no
distinguished_name=req_distinguished_name
req_extensions=domain_ca
[ req_distinguished_name ]
CN=somedomain.com trust CA
[ domain_ca ]
basicConstraints=critical,CA:true,pathlen:1
nameConstraints=critical,permitted;DNS:.somedomain.com
Kemudian, tandatangani CA perantara tersebut dengan CA Anda.
openssl x509 -req -in domain-ca.req -CA root-ca.crt -CAkey root-ca.key -sha256 -set_serial 1 -out domain-ca.crt -extensions domain_ca -extfile ossl_domain_com.cfg
Jika Anda melewatkan membuat perantara, gunakan CA root Anda untuk masuk
Sekarang, tandatangani kembali CA domain asli di bawah otoritas Anda, menggunakan sertifikat mereka. Anda dapat menambahkan ekstensi CA di sini.
openssl x509 -in third_party_ca.crt -CA domain-ca.crt -CAkey domain-ca.key -set_serial 47 -sha256 -extensions domain_ca -extfile ossl_domain_com.cfg -out domain-cross-ca.crt
Anda mungkin perlu menggunakan -x509-to-req
argumen untuk membuat permintaan, yang Anda tandatangani dengan cara yang persis sama dengan perantara di atas.
Sekarang, tambahkan root CA Anda, intermediate CA, dan domain-cross-ca ke database trust browser Anda.