Re: [strongSwan] Problem signing the certificate by CA

2009-08-19 Thread Dimitrios Siganos
>From the logs I see, I can deduce that openssl expects to find the key file at:

./etc/ssl/private/strongswanKey.pem

which according to the bash prompt, is:

/etc/ipsec.d/cacerts/etc/ssl/private/strongswanKey.pem

That doesn't look like the normal way of doing things, so I am assuming 
it is wrong. I am guessing that you need to set dir like this (absolute 
path):

dir = /etc/ssl

You had it set as : ./etc/dir, which is relative to the current working 
directory (probably not what you intended).

Regards,
Dimitrios Siganos

Sushil Chaudhari wrote:
> Hi Everyone,
>
> I am trying to sign the user certificate from the certification authority bus 
> getting the following error:
>
> r...@sushil:/etc/ipsec.d/cacerts# openssl ca -in moonReq.pem -days 730 -out 
> moonCert.pem -notext
> Using configuration from /usr/lib/ssl/openssl.cnf
> Error opening CA private key ./etc/ssl/private/strongswanKey.pem
> 17427:error:02001002:system library:fopen:No such file or 
> directory:bss_file.c:352:fopen('./etc/ssl/private/strongswanKey.pem','r')
> 17427:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:354:
> unable to load CA private key
>
>
> My openssl.cnf is as follows:
> #
> # OpenSSL example configuration file.
> # This is mostly being used for generation of certificate requests.
> #
>
> # This definition stops the following lines choking if HOME isn't
> # defined.
> HOME  = .
> RANDFILE  = $ENV::HOME/.rnd
>
> # Extra OBJECT IDENTIFIER info:
> #oid_file = $ENV::HOME/.oid
> oid_section   = new_oids
>
> # To use this configuration file with the "-extfile" option of the
> # "openssl x509" utility, name here the section containing the
> # X.509v3 extensions to use:
> # extensions  = 
> # (Alternatively, use a configuration file that has only
> # X.509v3 extensions in its main [= default] section.)
>
> [ new_oids ]
>
> # We can add new OIDs in here for use by 'ca' and 'req'.
> # Add a simple OID like this:
> # testoid1=1.2.3.4
> # Or use config file substitution like this:
> # testoid2=${testoid1}.5.6
>
> 
> [ ca ]
> default_ca= CA_default# The default ca section
>
> 
> [ CA_default ]
>
> #dir  = ./demoCA  # Where everything is kept
> dir   = ./etc/ssl
> certs = $dir/certs# Where the issued certs are kept
> crl_dir   = $dir/crl  # Where the issued crl are kept
> database  = $dir/index.txt# database index file.
> #unique_subject   = no# Set to 'no' to allow creation 
> of
>   # several ctificates with same subject.
> new_certs_dir = $dir/newcerts # default place for new certs.
>
> #certificate  = $dir/cacert.pem   # The CA certificate
> certificate   = $dir/strongswanCert.pem
> serial= $dir/serial   # The current serial number
> crlnumber = $dir/crlnumber# the current crl number
>   # must be commented out to leave a V1 
> CRL
> crl   = $dir/crl.pem  # The current CRL
> #private_key  = $dir/private/cakey.pem# The private key
> private_key   = $dir/private/strongswanKey.pem
> RANDFILE  = $dir/private/.rand# private random number file
>
> x509_extensions   = usr_cert  # The extentions to add to the 
> cert
>
> # Comment out the following two lines for the "traditional"
> # (and highly broken) format.
> name_opt  = ca_default# Subject Name options
> cert_opt  = ca_default# Certificate field options
>
> # Extension copying option: use with caution.
> # copy_extensions = copy
>
> # Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs
> # so this is commented out by default to leave a V1 CRL.
> # crlnumber must also be commented out to leave a V1 CRL.
> # crl_extensions  = crl_ext
>
> default_days  = 365   # how long to certify for
> default_crl_days= 30  # how long before next CRL
> default_md= sha1  # which md to use.
> preserve  = no# keep passed DN ordering
>
> # A few difference way of specifying how similar the request should look
> # For type CA, the listed attributes must be the same, and the optional
> # and supplied fields are just that :-)
> policy= policy_match
>
> # For the CA policy
> [ policy_match ]
> countryName   = match
> stateOrProvinceName   = match
> organizationName  = match
> organizationalUnitName= optional
> commonName= supplied
> emailAddress  = optional
>
> # For the 'anything' policy
> # At this point in time, you must list all acceptable 'object'
> # types.
> [ policy_anything ]
> countryName   = optional
> stateOrPro

Re: [strongSwan] Problem signing the certificate by CA

2009-08-19 Thread Sushil Chaudhari
Hi Everyone,

I am trying to sign the user certificate from the certification authority bus 
getting the following error:

r...@sushil:/etc/ipsec.d/cacerts# openssl ca -in moonReq.pem -days 730 -out 
moonCert.pem -notext
Using configuration from /usr/lib/ssl/openssl.cnf
Error opening CA private key ./etc/ssl/private/strongswanKey.pem
17427:error:02001002:system library:fopen:No such file or 
directory:bss_file.c:352:fopen('./etc/ssl/private/strongswanKey.pem','r')
17427:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:354:
unable to load CA private key


My openssl.cnf is as follows:
#
# OpenSSL example configuration file.
# This is mostly being used for generation of certificate requests.
#

# This definition stops the following lines choking if HOME isn't
# defined.
HOME= .
RANDFILE= $ENV::HOME/.rnd

# Extra OBJECT IDENTIFIER info:
#oid_file   = $ENV::HOME/.oid
oid_section = new_oids

# To use this configuration file with the "-extfile" option of the
# "openssl x509" utility, name here the section containing the
# X.509v3 extensions to use:
# extensions= 
# (Alternatively, use a configuration file that has only
# X.509v3 extensions in its main [= default] section.)

[ new_oids ]

# We can add new OIDs in here for use by 'ca' and 'req'.
# Add a simple OID like this:
# testoid1=1.2.3.4
# Or use config file substitution like this:
# testoid2=${testoid1}.5.6


[ ca ]
default_ca  = CA_default# The default ca section


[ CA_default ]

#dir= ./demoCA  # Where everything is kept
dir = ./etc/ssl
certs   = $dir/certs# Where the issued certs are kept
crl_dir = $dir/crl  # Where the issued crl are kept
database= $dir/index.txt# database index file.
#unique_subject = no# Set to 'no' to allow creation of
# several ctificates with same subject.
new_certs_dir   = $dir/newcerts # default place for new certs.

#certificate= $dir/cacert.pem   # The CA certificate
certificate = $dir/strongswanCert.pem
serial  = $dir/serial   # The current serial number
crlnumber   = $dir/crlnumber# the current crl number
# must be commented out to leave a V1 
CRL
crl = $dir/crl.pem  # The current CRL
#private_key= $dir/private/cakey.pem# The private key
private_key = $dir/private/strongswanKey.pem
RANDFILE= $dir/private/.rand# private random number file

x509_extensions = usr_cert  # The extentions to add to the cert

# Comment out the following two lines for the "traditional"
# (and highly broken) format.
name_opt= ca_default# Subject Name options
cert_opt= ca_default# Certificate field options

# Extension copying option: use with caution.
# copy_extensions = copy

# Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs
# so this is commented out by default to leave a V1 CRL.
# crlnumber must also be commented out to leave a V1 CRL.
# crl_extensions= crl_ext

default_days= 365   # how long to certify for
default_crl_days= 30# how long before next CRL
default_md  = sha1  # which md to use.
preserve= no# keep passed DN ordering

# A few difference way of specifying how similar the request should look
# For type CA, the listed attributes must be the same, and the optional
# and supplied fields are just that :-)
policy  = policy_match

# For the CA policy
[ policy_match ]
countryName = match
stateOrProvinceName = match
organizationName= match
organizationalUnitName  = optional
commonName  = supplied
emailAddress= optional

# For the 'anything' policy
# At this point in time, you must list all acceptable 'object'
# types.
[ policy_anything ]
countryName = optional
stateOrProvinceName = optional
localityName= optional
organizationName= optional
organizationalUnitName  = optional
commonName  = supplied
emailAddress= optional


[ req ]
default_bits= 1024
default_keyfile = privkey.pem
distinguished_name  = req_distinguished_name
attributes  = req_attributes
x509_extensions = v3_ca # The extentions to add to the self signed cert

# Passwords for private keys if not present they will be prompted for
# input_password = secret
# output_password = secret

# This sets a mask for permitted string types. There are several options. 
# default: PrintableString, T61String,