Eigen Certificate Authority probleem in MS Outlook Express

Pagina: 1
Acties:
  • 104 views sinds 30-01-2008
  • Reageer

  • DPLuS
  • Registratie: April 2000
  • Niet online
Hoi,

Ik draai Debian Etch met een 2.6 kernel en heb de volgende howto gevolgd om postfix aan de praat te krijgen met SMTP-TLS:
http://www.fatofthelan.com/articles/articles.php?pid=22

Nu doe ik op een gegeven moment de volgende dingen:


/usr/lib/ssl/misc/CA.pl -newca
/usr/lib/ssl/misc/CA.pl –newreq-nodes
/usr/lib/ssl/misc/CA.pl –sign


Waardoor we de volgende bestanden overhouden:

/usr/lib/ssl/misc/newcert.pem
/usr/lib/ssl/misc/newkey.pem
/usr/lib/ssl/misc/newreq.pem
/usr/lib/ssl/misc/demoCA/cacert.pem
/usr/lib/ssl/misc/demoCA/private/cakey.pem


Nog even wat juiste verwijzingen in de config van postfix:

smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_cert_file = /etc/postfix/ssl/newcert.pem
smtpd_tls_key_file = /etc/postfix/ssl/newkey.pem


En SMTP met TLS werkt als een zonnetje.

Maar nu komt het: als ik in Outlook Express dus een mailtje wil versturen, blijft 'ie de hele tijd zeuren dat het certificaat niet vertrouwd wordt.
Persoonlijk dacht ik het op te lossen door het bestand /usr/lib/ssl/misc/demoCA/cacert.pem te hernoemen naar cacert.crt en zo gewoon importeren in de certificaten-store van windows.
Maar dan nog komt 'ie met de melding dat het niet vertrouwd wordt.

Dus welke commando's moet ik uithalen om ervoor te zorgen dat het CA-certificaat op windows vertrouwd wordt??

Alvast dank.

  • Kippenijzer
  • Registratie: Juni 2001
  • Laatst online: 04-02 18:11

Kippenijzer

McFallafel, nu met paardevlees

Zelf zet ik in zo'n geval een https site met apache op (effectief gewoon de apache manual :P) die hetzelfde certificate gebruikt. Dan in IE aangeven dat hij die certificate moet installeren, en ik heb het probleem niet meer.

  • DPLuS
  • Registratie: April 2000
  • Niet online
Na nog eea gezocht te hebben is hier dan het antwoord:

Next we’ll be installing certificates and tls support to encrypt data:

Switch to your home-dir and setup a directory to make the certs in:
# mkdir CA
# cd CA
# mkdir newcerts private
# echo '01' > serial
# touch index.txt

Now copy the following into the file: openssl.cnf:

############### START OF OPENSSL.CNF #####################

#
# OpenSSL configuration file.
#
dir = .

[ ca ]
default_ca = CA_default

[ CA_default ]
serial = $dir/serial
database = $dir/index.txt
new_certs_dir = $dir/newcerts
certificate = $dir/cacert.pem
private_key = $dir/private/cakey.pem
default_days = 3650
default_md = md5
preserve = no
email_in_dn = no
nameopt = default_ca
certopt = default_ca
policy = policy_match

[ policy_match ]
countryName = match
stateOrProvinceName = match
organizationName = match
organizationalUnitName = optional
commonName = supplied
emailAddress = optional

[ req ]
default_bits = 1024 # Size of keys
default_keyfile = key.pem # name of generated keys
default_md = md5 # message digest algorithm
string_mask = nombstr # permitted characters
distinguished_name = req_distinguished_name
req_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
#------------------------------ ------------------------------
0.organizationName_default = JouwBedrijfsnaam
localityName_default = Emmer-Compascuum
stateOrProvinceName_default = Ver weg
countryName_default = NL

[ v3_ca ]
basicConstraints = CA:TRUE
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer:always

[ v3_req ]
basicConstraints = CA:FALSE
subjectKeyIdentifier = hash

############### END OF OPENSSL.CNF #####################

Create the Certificate Authority cert and private key, valid for 10 years:
# openssl req -new -x509 -extensions v3_ca -keyout private/cakey.pem -out cacert.pem -days 3650 -config ./openssl.cnf

To export the CA-certficate for use in windows so outlook stops complaining:
# cp cacert.pem /var/www/cacert.crt

Per certificate:
# openssl req -new -nodes -out req.pem -config ./openssl.cnf
# openssl ca -out cert.pem -config ./openssl.cnf -infiles req.pem

The certificate has both the encoded version and a human-readable version in the same file.
You can strip off the human-readable portion as follows:
# mv cert.pem tmp.pem
# openssl x509 -in tmp.pem -out cert.pem
# rm tmp.pem

Some applications want the cert and key in one file (like ipop3s):
# cat key.pem cert.pem > key-cert.pem

Important files we have generated:
cacert.pem -> CA certificate
private/cakey.pem -> CA private key
key.pem -> Private key
req.pem -> Certificate signing request
cert.pem -> Certificate
key-cert.pem -> Combined private key and certificate

Install the host private key, the host public key certificate, and the
Certification Authority certificate files.

Make a new directory to hold your new certificates in /etc/postfix called ssl, and copy you new certificates into it:
# mkdir /etc/postfix/ssl
# cp cacert.pem cert.pem key.pem /etc/postfix/ssl/

Be sure to chmod all of your certs to read only and chown them all to root!
# chmod 644 /etc/postfix/ssl/cert.pem /etc/postfix/ssl/cacert.pem
# chmod 400 /etc/postfix/ssl/key.pem

Configure Postfix, by adding the following to /etc/postfix/main.cf:
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_cert_file = /etc/postfix/ssl/cert.pem
smtpd_tls_key_file = /etc/postfix/ssl/key.pem
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
smtpd_tls_auth_only = yes

HTH

  • Wilke
  • Registratie: December 2000
  • Laatst online: 22:25
Ik weet er niet veel van maar denk dat 'CRT' toch een ander formaat is dan 'PEM'. Als je het een in het ander converteert had het importeren in Outlook Express vast ook wel gewerkt.

Trouwens, met Thunderbird (onder elk OS) heb je natuurlijk precies hetzelfde probleem, maar die kun je opdracht geven niet meer te zeuren over de "twijfelachtige" CA. Alsnog heb je dan op 2 manieren baat bij het gebruik van het certificaat: (1) je kunt IMAP-verbindingen versleutelen en (2) als het certificaat wijzigt/niet klopt, krijg je sowieso weer een melding en weet je dus dat er iets niet in de haak is.

  • DPLuS
  • Registratie: April 2000
  • Niet online
Yep, mijn idee was ook om 1 certificaat te gebruiken voor pop3s, imaps en https.
Dat is dus bij deze gelukt, door gewoon de certificaten te signen met de reeds in Windows geïmporteerde CA-cert.
Daardoor zeurt geen enkele applicatie meer over "een niet vertrouwde instantie".

BTW, dat PEM-bestandje wordt trouwens prima geslikt door windows, je zou ook voor de volledigheid het cacert.pem bestandje kunnen converteren naar x509.
Maar het werkt ook zo, dus waarom moeilijk doen als het makkelijk kan? In Netscape hoor je het root CA ook te importeren als pem....

Verwijderd

beetje offtopic maar toch:
Waarom gebruik je niet gewoon een CAcert.org?

  • Hagar
  • Registratie: Februari 2001
  • Laatst online: 14-10-2025

Hagar

Diabootic

Alle services met ssl waar je het certificaat van wil importeren kan je deze direct IE openen.
Het protocol erachter doet er niet toe, IE zal eerst de SSL connectie moeten toestaan.

Door met IE naar http://mijn.mailserver.nl:443/ te gaan kan je het certificaat zo importeren.

Nu ook zonder stropdas

Pagina: 1