postfix added and ver. bump to 3.1.0
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Accept one parameter as output file names
|
||||
# Generates a self-signed certificate.
|
||||
# Edit EOF section before running
|
||||
|
||||
if [ $# -ne 1 ]
|
||||
then
|
||||
echo -e "\nUse with a single name paramater for output files will be generated into current folder.\nAnd don't forget to edit [ req_dn ] section in script.\n"
|
||||
echo -e "Example:\n\n./mkcert.sh foo\n\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
OPENSSL=openssl
|
||||
DIR=`pwd`
|
||||
CONFIG=$1-ssl.config
|
||||
|
||||
CERTDIR=$SSLDIR
|
||||
KEYDIR=$SSLDIR
|
||||
|
||||
CERTFILE=$DIR/$1.cert
|
||||
KEYFILE=$DIR/$1.key
|
||||
REQFILE=$DIR/$1.req
|
||||
|
||||
KEYBITS=1024
|
||||
DAYS=3650
|
||||
|
||||
if [ ! -f $CONFIG ]; then
|
||||
cat > $CONFIG << EOF
|
||||
[ req ]
|
||||
default_bits = 1024
|
||||
encrypt_key = yes
|
||||
distinguished_name = req_dn
|
||||
x509_extensions = cert_type
|
||||
prompt = no
|
||||
|
||||
[ req_dn ]
|
||||
# country (2 letter code)
|
||||
C=XY
|
||||
|
||||
# State or Province Name (full name)
|
||||
ST=SomeState
|
||||
|
||||
# Locality Name (eg. city)
|
||||
L=SomeCity
|
||||
|
||||
# Organization (eg. company)
|
||||
O=SomeCompany
|
||||
|
||||
# Organizational Unit Name (eg. section)
|
||||
OU=PisiLinux
|
||||
|
||||
# Common Name (*.example.com is also possible)
|
||||
CN=mail.example.com
|
||||
|
||||
# E-mail contact
|
||||
#emailAddress=admin@example.com
|
||||
|
||||
[ cert_type ]
|
||||
nsCertType = server
|
||||
EOF
|
||||
fi
|
||||
|
||||
if [ -f $CERTFILE ]; then
|
||||
echo "$CERTFILE already exists, won't overwrite"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -f $KEYFILE ]; then
|
||||
echo "$KEYFILE already exists, won't overwrite"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#Generate key. Use -des3 for password protected key.
|
||||
$OPENSSL genrsa -out $KEYFILE $KEYBITS
|
||||
chmod 0600 $KEYFILE
|
||||
|
||||
#Unmask password protected key
|
||||
#mv $KEYFILE $KEYFILE.orig
|
||||
#$OPENSSL rsa -in $KEYFILE.orig -out $KEYFILE
|
||||
|
||||
#Generate request file
|
||||
$OPENSSL req -new -key $KEYFILE -out $REQFILE -config $CONFIG
|
||||
|
||||
#Generate self signed certificate
|
||||
$OPENSSL x509 -req -days $DAYS -in $REQFILE -signkey $KEYFILE -out $CERTFILE
|
||||
|
||||
#Verify
|
||||
$OPENSSL x509 -subject -fingerprint -noout -in $CERTFILE || exit 2
|
||||
Reference in New Issue
Block a user