Page History
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
# Specify key name used for file names
key_name=signing
# Create Private Key and Certificate Signing Request (CSR)
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:secp256k1 -sha256 -nodes \
-keyout "${key_name}".key \
-out "${key_name}".csr \
-subj "/C=DE/ST=Berlin/L=Berlin/O=SOS/OU=IT/CN=${key_name}"
oder:
# Create Private Key
openssl ecparam -genkey -name secp384r1 -out "${key_name}".key
# Create Certificate Signing Request (CSR)
openssl req -new -sha384 -nodes \
-key "${key_name}".key \
-out "${key_name}".csr \
-subj "/C=DE/ST=Berlin/L=Berlin/O=SOS/OU=IT/CN=${key_name}" |
Explanation:
- Choice of algorithm such as
secp256k1
,secp384r1
is up to the user. - The SHA option such as
-sha256, -sha384
must match the algorithm. - The
-subj
option specifies the Distinguished Name used for the subject of the CSR and Certificate.- The Distinguished Name is a unique identifier frequently using the hierarchy of Country
C
, StateST
, LocationL
, OrganizationO
, Organizational UnitOU
and Common NameCN
. - For self-signed Certificates the subject and issuer properties of the CSR/Certificate are the same. The minimum requirement is to specify the Common Name
CN=<name>
where<name>
can freely be chosen. - For CA-signed Certificates the subject property holds the Certificate's Distinguished Name and the issuer property holds the CA Certificate's Distinguished Name. Both Distinguished Names should match except for the Common Name
CN
.
- The Distinguished Name is a unique identifier frequently using the hierarchy of Country
- The following files will be created with this step:
- The
<key_name>
.key
file will hold the Private Key. - The
<key_name>
.csr
file will hold the Certificate Signing Request.
- The
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
# Specify key name used for file names
key_name=signing
# Create Certificate
openssl x509 -req -sha384 -days 3652 \
-signkey "${key_name}".key \
-in "${key_name}".csr \
-out "${key_name}".crt \
-extfile <(printf "keyUsage=critical,nonRepudiation,digitalSignature\nextendedKeyUsage=critical,codeSigning\n") |
Explanation:
- The SHA option such as
-sha256, -sha384
must match the value of the option used when creating the Private Key/Certificate Signing Request. - The
-days
argument optionally specifies the validity period of the Certificate. - The
-signkey
option specifies the location of the Private Key file created from the previous step. - The
-in
option specifies the location of the Certificate Signing Request file created from the previous step. - The
-out
option specifies the location of the resulting Certificate file. - The
-extfile
option specifies a number of extensions recommended for use with Signing Certificates. - The following files will be created with this step:
- The
<key_name>
.crt
file will hold the self-signed Certificate.
- The
...
Overview
Content Tools