Created
April 9, 2014 13:51
-
-
Save lukeasrodgers/10272969 to your computer and use it in GitHub Desktop.
generate self-signed ssl certificate
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# from http://quanterium.blogspot.com/2012/01/creating-self-signed-ssl-certificate.html | |
# see also http://www.mail-archive.com/[email protected]/msg47647.html | |
# to use: | |
# first, change alt_names | |
# then, openssl req -new -x509 -days 365 -nodes -out example.crt -keyout example.key -config example.conf | |
# and follow instructions | |
[ ca ] | |
default_ca = CA_default | |
[ CA_default ] | |
dir = . | |
serial = $dir/serial | |
database = $dir/index.txt | |
new_certs_dir = $dir/newcerts | |
certs = $dir/certs | |
certificate = $certs/cacert.pem | |
private_key = $dir/private/cakey.pem | |
default_days = 365 | |
default_md = sha1 | |
preserve = no | |
email_in_dn = no | |
nameopt = default_ca | |
certopt = default_ca | |
policy = policy_match | |
copy_extensions = copy | |
[ policy_match ] | |
countryName = match | |
stateOrProvinceName = match | |
organizationName = match | |
organizationalUnitName = optional | |
commonName = supplied | |
emailAddress = optional | |
[ req ] | |
default_bits = 2048 # Size of keys | |
default_keyfile = example.key # name of generated keys | |
default_md = sha1 # message digest algorithm | |
string_mask = nombstr # permitted characters | |
distinguished_name = req_distinguished_name | |
req_extensions = v3_req | |
x509_extensions = v3_req | |
[ req_distinguished_name ] | |
# Variable name Prompt string | |
#---------------------- ---------------------------------- | |
0.organizationName = Organization Name (company) | |
organizationalUnitName = Organizational Unit Name (department, division) | |
emailAddress = Email Address | |
emailAddress_max = 40 | |
localityName = Locality Name (city, district) | |
stateOrProvinceName = State or Province Name (full name) | |
countryName = Country Name (2 letter code) | |
countryName_min = 2 | |
countryName_max = 2 | |
commonName = Common Name (hostname, IP, or your name) | |
commonName_max = 64 | |
# Default values for the above, for consistency and less typing. | |
# Variable name Value | |
#------------------------------ ------------------------------ | |
commonName_default = www.example.com | |
0.organizationName_default = Example Company | |
localityName_default = Honolulu | |
stateOrProvinceName_default = Hawaii | |
countryName_default = US | |
emailAddress_default = [email protected] | |
[ v3_ca ] | |
basicConstraints = CA:TRUE | |
subjectKeyIdentifier = hash | |
authorityKeyIdentifier = keyid:always,issuer:always | |
[ v3_req ] | |
# Extensions to add to a certificate request | |
basicConstraints = CA:FALSE | |
keyUsage = nonRepudiation, digitalSignature, keyEncipherment | |
# Some CAs do not yet support subjectAltName in CSRs. | |
# Instead the additional names are form entries on web | |
# pages where one requests the certificate... | |
subjectAltName = @alt_names | |
[alt_names] | |
DNS.1 = www.example.com | |
DNS.2 = www2.example.com | |
DNS.3 = www.example.net | |
DNS.4 = example.com | |
[ server ] | |
# Make a cert with nsCertType set to "server" | |
basicConstraints=CA:FALSE | |
nsCertType = server | |
nsComment = "OpenSSL Generated Server Certificate" | |
subjectKeyIdentifier=hash | |
authorityKeyIdentifier=keyid,issuer:always | |
[ client ] | |
# Make a cert with nsCertType set to "client" | |
basicConstraints=CA:FALSE | |
nsCertType = client | |
nsComment = "OpenSSL Generated Client Certificate" | |
subjectKeyIdentifier=hash | |
authorityKeyIdentifier=keyid,issuer:always |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment