Sysop:OpenSSL
Zur Navigation springen
Zur Suche springen
creating a self-signed cert with one command
openssl req -new -newkey rsa:1024 -nodes -x509 -keyout foo_key.pem -out foo.pem -days 3600
verify ssl secured connection
openssl s_client -connect $host:$port -state -debug
for example
openssl s_client -connect 127.0.0.1:443 -state -debug
for your local https-server
create my own CA
To create our own Certificate Authority (CA) we need to do some stuff:
openssl.cnf
Often you find it in /etc/ssl/openssl.cnf, in this file you edit your settings for you CA. We document here the changed fields:
unique_subject = no # Set to 'no' to allow creation of
# several ctificates with same subject.
...
[ policy_match ]
#countryName = match
domainComponent = match
...
[ policy_anything ]
#countryName = optional
domainComponent = optional
...
[ req_distinguished_name ]
#countryName = Country Name (2 letter code)
#countryName_default = AU
#countryName_min = 2
#countryName_max = 2
0.domainComponent = TLD Domain Component
0.domainComponent_default = example.com
1.domainComponent = 2nd Domain Component
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = free world
localityName = Locality Name (eg, city)
localityName_default = Bolobolo
0.organizationName = Organization Name (eg, company)
0.organizationName_default = FooBar
# we can do this but it is not needed normally :-)
#1.organizationName = Second Organization Name (eg, company)
#1.organizationName_default = World Wide Web Pty Ltd
organizationalUnitName = Organizational Unit Name (eg, section)
#organizationalUnitName_default =
commonName = Common Name (often your domain)
commonName_max = 64
emailAddress = Email Address
emailAddress_max = 64
emailAddress_default = foobar@example.com
create CA
now let's create the CA: (with gentoo)
cd /etc/ssl/misc/ ./CA.pl -newca
so now you have your own ca. pay attention to it! Store it on a crypted HD, etc.
create certifcate request
cd /etc/ssl/misc/ ./CA.pl -newreq
sign the request
cd /etc/ssl/misc/ ./CA.pl -sign
so now you have your files:
- newcert.pem
- newkey.pem
- newreq.pem
You can use them now in your application...
verify certicate
openssl verify -CAfile demoCA/cacert.pem newcert.pem