« Services/OCSP » : différence entre les versions

De TartareFR
Aller à la navigation Aller à la recherche
 
(31 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
== Introduction ==
= Introduction =


OCSP signifie Online Certificate Status Protocol. C’est un protocole définit dans la RFC 2560 qui permet de valider un Certificat numérique X509.
Online Certificate Status Protocol(OCSP ou en français protocole de vérification en ligne de certificat) est un [[Protocole de communication|protocole Internet]] utilisé pour valider un [[certificat numérique]]  [[X.509]]. OCSP est [[standard|standardisé]] par l'[[Internet Engineering Task Force|IETF]] dans la RFC 2560.


En clair, cela vous permet d’offrir à vos “clients, amis, potes….” une fonction de vérification en ligne de la validité d’une certificat.
Ce protocole est une alternative réglant certains des problèmes posés par les [[liste de révocation de certificats]] (CRL) dans une [[infrastructure à clés publiques]] (PKI). Les messages OCSP sont codés en [[ASN.1]] et peuvent être transportés par différents [[Couche application|protocoles applicatifs]] ([[Simple Mail Transfer Protocol|SMTP]], [[Lightweight Directory Access Protocol|LDAP]], [[Hypertext Transfer Protocol|HTTP]], etc.). Les communications OCSP étant de la forme « requête/réponse », les [[serveur informatique|serveurs]] OCSP sont appelés répondeurs OCSP.  


Petit exemple (source Wikipédia) :
== Centralisation de la validation des certificats ==


# Alice et Bob sont des clients d’Ivan, l’autorité de certification (AC). Ils possèdent le certificat de clé publique d’Ivan.
La [[validation des certificats]] est une tâche plus complexe qu'il n'y paraît. Elle est traditionnellement effectuée par le [[client (informatique)|client]] de la PKI. Une grande confiance est ainsi accordée au client pour ce traitement critique. Or une grande partie des clients PKI effectuent leur validation de manière encore incomplète ou imparfaite (en [[2006]]). Par exemple, la non-automatisation de la récupération des CRL des [[navigateur web|navigateurs web]] pose un problème quant à la mise à jour des informations.
# Alice et Bob possèdent chacun un certificat de clé publique émis par Ivan.
 
# Alice veut effectuer une transaction avec Bob. Elle lui envoie donc son certificat contenant sa clé publique.
OCSP permet de centraliser cette tâche au sein d'une PKI. Afin de valider un certificat, le client n'a plus à communiquer qu'avec une seule entité : le répondeur OCSP. On peut parler aussi d'autorité de validation (VA pour ''Validation Authorithy'').
# Bob veut s’assurer que le certificat d’Alice n’a pas été révoqué. Il crée une requête OCSP contenant l’empreinte du certificat d’Alice et l’envoi à Ivan.
 
# Le répondeur OCSP d’Ivan vérifie le statut du certificat d’Alice dans la base de données de la CA.
== Avantage par rapport aux CRL ==
# Le répondeur OCSP confirme la validité du certificat d’Alice en envoyant une réponse OCSP positive signée à Bob.
 
Plusieurs raisons peuvent amener à préférer le protocole OCSP aux traditionnelles CRL.
 
* OCSP fournit des informations sur le statut du certificat plus à jour.
* Avec OCSP, le client n'a plus besoin de récupérer lui-même la CRL. Vue la taille parfois importante de cette CRL, cela allège le trafic réseau.
* Le client n'a plus à traiter lui-même la CRL. Cela permet l'économie d'un traitement relativement complexe.
* Le répondeur OCSP permet de proposer des mécanismes de facturation au vendeur, et non pas à l'acheteur
* Les CRL peuvent être comparées à une "liste de mauvais clients" d'une banque. Cela constitue une fuite d'information non souhaitable.
 
== Autres avantages ==
 
OCSP présente d'autres avantages en termes de déploiement des clients et d'architecture réseau.
 
* C'est le répondeur OCSP qui récupère les différents certificats constitutifs d'une [[chaîne de certificats]] et les CRL. Cela simplifie les communications, car le client ne dispose pas forcément de la connectivité nécessaire à leur récupération (filtrage par un [[pare-feu (informatique)|pare-feu]], etc.).
* Le répondeur OCSP valide la remontée du chemin de certification. Le client fait donc l'économie de cet autre traitement consommateur en ressources.
* Grâce au chaînage des répondeurs OCSP, le client ne communique qu'avec un seul répondeur, digne de confiance. Cela épargne au client des communications plus complexes.
 
== Exemple d'utilisation ==
 
# Alice et Bob sont des clients d'Ivan, l'[[autorité de certification]] (AC). Ils possèdent le certificat de clé publique d'Ivan.
# Alice et Bob possèdent chacun un certificat de clé publique émis par Ivan.  
# Alice veut effectuer une transaction avec Bob. Elle lui envoie donc son certificat contenant sa [[Clé de chiffrement|clé publique]].
# Bob veut s'assurer que le certificat d'Alice n'a pas été révoqué. Il crée une ''requête OCSP'' contenant l'[[empreinte]] du certificat d'Alice et l'envoie à Ivan.
# Le répondeur OCSP d'Ivan vérifie le statut du certificat d'Alice dans la base de données de la CA.
# Le répondeur OCSP confirme la validité du certificat d'Alice en envoyant une ''réponse OCSP'' positive [[signature numérique|signée]] à Bob.
# Bob vérifie la signature cryptographique de la réponse.
# Bob vérifie la signature cryptographique de la réponse.
# Bob effectue sa transaction avec Alice.
# Bob effectue sa transaction avec Alice.


Je vous invite donc fortement, avant de continuer, à lire [http://fr.wikipedia.org/wiki/OCSP cet article explicatif].
== Concept de fonctionnement ==
 
Ce schéma illustre comment la requête OCSP est formée et envoyée vers le serveur OCSP:


Il existe un projet libre de répondeur OCSP , qui est inclus dans l’excellentissime projet OpenCA :
[[Image:Ocsp-request.png|500px]]


http://www.openca.org/projects/ocspd/
Ce schéma illustre comment la réponse OCSP est formée et envoyée vers le client OCSP.


Commencons donc par télécharger les sources ICI (dernière version disponible, la 1.5.1-rc1).
La réponse peut être: '''{{color|green|GOOD}} - {{color|red|REVOKED}} - {{color|orange|UNKNOWN}}'''


== Installation ==
[[Image:Ocsp-responce.png|500px]]


L’installation est des plus basiques :
== Liens externes ==
 
* [http://www.axway.fr/produits-solutions/email-identity-security/identity-security/va-suite Société spécialisée dans la validation / Axway]
* [http://www.corestreet.com/ Société spécialisée dans la validation / Corestreet]
* [http://www.mozilla-europe.org/fr/firefox/ Navigateur compatible OCSP: Mozilla Firefox]
* [http://www.e-xpertsolutions.com/images/pdf/Cotte.pdf Mise en œuvre d'un client OCSP pour Apache / HES Geneva & e-Xpert Solutions]
* [http://hosteddocs.ittoolbox.com/TB100104.pdf Implementing Online Certificate Status Protocol / Tirthankar Barari]
 
== Alternatif à OCSP: le protocole SCVP ==
 
* [http://www.ietf.org/html.charters/pkix-charter.html Internet-Drafts]
* [http://datatracker.ietf.org/doc/rfc5055/  Spécifications du standard]
 
= Installation =
 
Il existe un projet libre de répondeur OCSP , qui est inclus dans l’excellentissime projet OpenCA : http://www.openca.org/projects/ocspd/
 
L’installation est des plus basiques, un groupe et un user dédié seront créés :
  # yum install ocspd
  # yum install ocspd


Un groupe et un user dédié est créé et on affecte les droits :
Avec votre système de PKI préféré, générer un certificat publique et une clé privé pour votre serveur OCSP.
 
Avec votre système de PKI préférée, générer un certificat publique et un certificat privé pour votre serveur OCSP. (attention au hostname, dans mon cas, ocsp.guiguiabloc.fr)


Copier les, ainsi que votre certificat CA, dans <path>/etc/ocspd/certs/</path>
Liste des fichiers nécessaires au daemon :
* Le certificat (<path>/etc/pki/httpd/certs/ocspd.crt</path>)et la clé associée (<path>/etc/pki/httpd/certs/ocspd.key</path>) pour le daemon OCSP
* Le certificat Racine (<path>/etc/pki/httpd/httpd_ca.crt</path>)
* La liste CRL (<path>/etc/pki/httpd/crl/crl.pem</path>)


Il ne reste qu’a configurer votre répondeur :
Il ne reste qu’a configurer votre répondeur :
Ligne 40 : Ligne 84 :


<pre>
<pre>
# OCSPd example configuration file.
# (c) 2001 by Massimiliano Pala - OpenCA Project.
# All rights reserved
[ ocspd ]
[ ocspd ]
default_ocspd  = OCSPD_default        # The default ocspd section
default_ocspd  = OCSPD_default        # The default ocspd section


####################################################################
[ OCSPD_default ]
[ OCSPD_default ]
dir              = /etc/ocspd  # Where everything is kept
dir              = /etc/ocspd  # Where everything is kept
md              = sha1
md              = sha1
 
ocspd_certificate = /etc/pki/httpd/certs/ocspd.crt  # The OCSP server cert
ocspd_certificate = $dir/certs/ocspd_cert.pem  # The OCSP server cert
ocspd_key        = /etc/pki/httpd/certs/ocspd.key # The OCSP server key
ocspd_key        = $dir/private/ocspd_key.pem # The OCSP server key
pidfile          = /var/run/ocspd.pid             # Main process pid
pidfile          = /var/run/ocspd.pid         # Main process pid
 
# User and Group the server will run as. It is a good idea
# not having servers running as root: in case of errors in
# the code providing an 'illegal' access method for an attacker
# it is better not to give him additional advantages.
user                    = ocspd
user                    = ocspd
group                  = ocspd
group                  = ocspd
# Bind to a specific address. This option is useful if you need
# to listen only on one IP among the availables ones.
bind                    = *
bind                    = *
# Port where the server will listen for incoming requests.
port                    = 2560
port                    = 2560
# Max size of accepted requests. Data connection will be closed
# in case this size will be reached.
max_req_size            = 8192
max_req_size            = 8192
 
threads_num            = 10
# Number of threads that shall be created at startup time, the
max_client_num         = 3
# more threads, the better for handling very high traffic. We
# expect to have better performances on multi-threaded machines
# and processors.
threads_num            = 150
 
# Size of the system listen() queue. This allows buffering connection
# requests for later processing when all threads are already busy.
#max_client_num         = 30
 
# Max timeout for request receiving. If a request is not received
# within the specified number of seconds then the socket is closed
# in order to free unused threads. If not set, the default value
# is 5 seconds
max_timeout_secs        = 5
max_timeout_secs        = 5
# Chroot the application into the specified directory, whatch
# out because if you chroot the application, all the paths
# should be relative to the new root for CRL reloading or
# (better solution) you have to download the CRLs from HTTP or
# LDAP. If you chroot and you do not provide support for
# privileges dropping, privileges will not be dropped and an
# error will be written in the logfile, but the server will
# continue to run assuming the chroot() is sufficiently isolated
# to prevent abuse of the machine.
#chroot_dir            = /usr
# Auto Reload interval of CRL (if set to 0 or not present, to
# reload the CRL you'll need to send a SIGHUP (kill -1 <pid>)
# to the parent process (seconds)
crl_auto_reload = 3600
crl_auto_reload = 3600
# Check CRL validity period. If this parameter is set to #n
# then the CRL is checked every #n secs and if the CRL's validity
# period is expired then all the responses will be set to
# 'unknown'.
# If 'crl_check_validity' is set to '0' or it is absent, all
# responses will be based on the loaded CRL, no matter if it
# is expired or not.
crl_check_validity = 600
crl_check_validity = 600
# Reload CRL if the one loaded is expired. Set this parameter
# only if you are sure that the new CRL will be issued and put
# in the crl_url.
#crl_reload_expired = yes
# Specifies the response section to load the server options
# from
response        = ocsp_response
response        = ocsp_response
# It specifies the section to be used where options about where
# CRL and certificates are kept.
#
# Example section using LDAP for data retrieval
# dbms          = dbms_ldap
#
# Example section using FILES for data retrieval
dbms            = dbms_file
dbms            = dbms_file
engine = off


# Enables the ENGINE interface for the server. If set to off then
# no support for ENGINE is loaded. If set to anything but 'off' the
# value must correspond to a section in this configuration file.
# Currently only LunaCA3, LunaSA are directly supported. If you need
# support for other HSM write to the authors.
#
# IMPORTANT NOTE: in case of usage with engine support enabled, put
# the private key ID - look at the HSM documentation - into the
# 'ocspd_key' field above in this file
engine = HSM
####################################################################
[ ocsp_response ]
[ ocsp_response ]
dir                    = /etc/ocspd
dir                    = /etc/ocspd
 
ocsp_add_response_certs       =  
# It is possible to include additional certificates in given
# responses. Put all the certificates you want to include in
# the file pointed by 'ocsp_add_responses_certs', concatenated
# one after the other.
#
# Comment this option if you don't want to add certificates
# to responses.
ocsp_add_response_certs = $dir/certs/chain_certs.pem
 
# Set this option if you want to include the KeyID. If you are
# unsure about this setting, use 'yes'.
ocsp_add_response_keyid = yes
ocsp_add_response_keyid = yes
# next_update_days and next_update_mins allows to specify in
# each response when new revocation data will be available.
# If the two options are both set to '0' the 'nextUpdate' field
# in the OCSP response will be left NULL indicating new data
# can be made available anytime (this is true if you are issuing
# new CRLs every time a revocation takes place)
#
# NOTE: Firefox/Mozilla do not parse correctly the OCSP answer in
# case the nextUpdate field is missing. It is therefore suggested
# to use the next_update_mins set (e.g. 5 minutes) to have mozilla's
# software correclty work with OCSP enabled.
next_update_days        = 0
next_update_days        = 0
next_update_mins        = 5
next_update_mins        = 5


####################################################################
[ dbms_ldap ]
0.ca = @ldap_ca_1
[ ldap_ca_1 ]
# You can have the CRL on a simple file
# crl_url = file:///etc/ocspd/crls/crl.pem
# You can have the CRL retrieved from an HTTP server
# crl_url = http://[user[:pwd]@]server[:port]/path_to_crl
# You can store the CRL into an LDAP server, simply
# store it in certificateRevocationList;binary attribute
#
# There are different way, all legal, to specify the CRL
# URL address:
# crl_url = ldap://[user[:pwd]@]ldap.server.org[:389]
# crl_url = ldap://ldap.server.org:389
crl_url = ldap://localhost
# The CRL entry DN is the DN to look for when retrieving the
# date from the LDAP server. Put here the complete DN (usually
# the DN of the CA's certificate).
#
# This option is needed only if the CRL is stored on LDAP
crl_entry_dn = "cn=Certification Auth, o=Organization, c=IT"
# To retrieve the CRL from LDAP the attribute where it is stored is to
# be specified. Usually this should be set to:
#
#    certificateRevocationList;binary
#
# anyway existing LDAP installations or new standards can mandate
# for different attributes for storing CRLs into. Use this parameter
# to specify the attribute used to retrieve the CRL from.
#
# This option is needed only if the CRL is stored on LDAP
crl_entry_attribute = "certificateRevocationList;binary"
# We need the CA certificate for every CA we support. Upon loading
# the CRL and the CA certificate a simple check is made to ensure
# the CRL/CA certificate matching. Also the CA certificate is used
# to retrieve the CID used to identify the certificate being
# requested by the client (CID of the Issuer + serial Number).
#
# DN where the cACertificate;binary value can be downloaded
# This option is needed only if the CA Certificate is stored on LDAP
ca_entry_dn = "o=Organisation, c=IT"
####################################################################
[ dbms_file ]
[ dbms_file ]
# We can have as many CAs supported as we want, each CRL will be
# loaded and stored upon server starting
0.ca = @first_ca
0.ca = @first_ca
#1.ca = @second_ca


####################################################################
[ first_ca ]
[ first_ca ]
crl_url = file:///etc/pki/httpd/crl/crl.pem
ca_url  = file:///etc/pki/httpd/httpd_ca.crt


# You can have the CRL on a simple file in PEM format
crl_url = file:///etc/ocspd/crls/crl_01.pem
# We need the CA certificate for every supported CRL
ca_url  = file:///etc/ocspd/certs/1st_cacert.pem
####################################################################
[ second_ca ]
[ second_ca ]
# You can have the CRL on a simple file in PEM format
crl_url = file:///etc/ocspd/crls/crl_02.pem
crl_url = file:///etc/ocspd/crls/crl_02.pem
# We need the CA certificate for every supported CRL
ca_url  = file:///etc/ocspd/certs/2nd_cacert.pem
ca_url  = file:///etc/ocspd/certs/2nd_cacert.pem
</pre>


####################################################################
Je vous laisse consulter le fichier conf en entier pour en comprendre le contenu et le modifier suivant vos besoins, mais la configuration ci-dessous, très simple, fonctionne pour un premier test.
[ HSM ]


# Setup parameters for basic lunaCA3/LunaSA crypto hardware.
= Test =
 
# Specifies the ENGINE id to be used - check OpenSSL and your HSM
# vendor to get more info about this parameter.
engine_id = LunaCA3
 
# Some HSM need initialisation before access to the crypto accelerated
# functions is granted. It is possible, by using the 'engine_pre' options
# to issue needed commands directly to the HSM.
#
# The format is as follows:
#    0.engine_pre = cmd:values
#    1.engine_pre = cmd2:values
#    ...
# It is possible to have as many commands as needed.
# The following command is for LunaCA3/LunaSA. It forces the vendor's
# library to use '/etc/my_conf_file' as configuration file (check the
# HSM documentation about this file contents.
#0.engine_pre = CONF_PATH:/etc/my_conf_file
 
# The following is for LunaCA3/LunaSA where the command is 'login' and
# the value is "1:10:11:myPassword" which indicates to use Slot 1,
# high application id 10, low app id 11 and password "myPassword"
0.engine_pre = login:1:10:11:myPassword
 
# Some HSMs need to perform commands after the ENGINE initialisation
# which are taken from the 'engine_post' option. Usage and format
# is exactly the same as 'engine_pre', the difference is that commands
# are sent to the HSM after the ENGINE_init() function. Refer to your
# HSM documentation for more informations
# 0.engine_post = logout:1:10:11
 
</pre>


== Génération des certificats ==
Vous pouvez inclure directement dans votre certificat l’adresse de votre répondeur OCSP en ajoutant des extensions à votre openssl.cnf :
<pre>
<pre>
[ ocspd ]
[OCSP]
default_ocspd  = OCSPD_default        # The default ocspd section
basicConstraints        = CA:FALSE
keyUsage                = digitalSignature
extendedKeyUsage        = OCSPSigning
issuerAltName          = issuer:copy
subjectKeyIdentifier    = hash
authorityKeyIdentifier  = keyid:always,issuer:always
authorityInfoAccess    = OCSP;URI:http://didier.domicile.org/
   
   
####################################################################
[OCSP_SERVER]
[ OCSPD_default ]
nsComment                      = "OpenSSL Generated Server Certificate"
subjectKeyIdentifier            = hash
authorityKeyIdentifier          = keyid,issuer:always
issuerAltName                  = issuer:copy
basicConstraints                = critical,CA:FALSE
keyUsage                        = digitalSignature, nonRepudiation, keyEncipherment
nsCertType                      = server
extendedKeyUsage                = serverAuth
authorityInfoAccess            = OCSP;URI:http://didier.domicile.org/
   
   
dir              = /opt/ocspd/etc/ocspd        # Where everything is kept
[OCSP_CLIENT]
db              = $dir/index.txt              # database index file.
nsComment                      = "OpenSSL Generated Client Certificate"
md              = sha1
subjectKeyIdentifier            = hash
authorityKeyIdentifier          = keyid,issuer:always
ca_certificate    = $dir/certs/CA_Guiguiabloc-cert.pem      # The CA certificate
issuerAltName                   = issuer:copy
ocspd_certificate = $dir/certs/ocsp-cert.crt    # The OCSP server cert
basicConstraints                = critical,CA:FALSE
ocspd_key        = $dir/certs/ocsp-key.pem  # The OCSP server key
keyUsage                        = digitalSignature, nonRepudiation
pidfile          = $dir/ocspd.pid              # Main process pid
nsCertType                      = client
extendedKeyUsage                = clientAuth
user                    = ocspd
authorityInfoAccess            = OCSP;URI:http://didier.domicile.org/
group                   = ocspd
bind                    = 192.168.1.1 (l'ip sur laquelle écouter ou * pour toutes les interfaces)
port                    = 2560
crl_auto_reload = 3600
crl_reload_expired = yes
response        = ocsp_response
....
[ ocsp_response ]
dir                    = /opt/ocspd/etc/ocspd
ocsp_add_response_keyid = yes
...
[ first_ca ]
crl_url = file:////opt/ocspd/etc/ocspd/crls/crl-Guiguiabloc.pem (la liste de révocation de certificat)
ca_url  = file:////opt/ocspd/etc/ocspd/certs/CA_Guiguiabloc-cert.pem
</pre>
</pre>


Je vous laisse consulter le fichier conf en entier pour en comprendre le contenu et le modifier suivant vos besoins, mais la configuration ci-dessous, très simple, fonctionne pour un premier test.
L'autorité de certification, ainsi que tous les certificats vont être générés par le script [[Scripts/manageCA| manageCA]]. Tous ont une extension OCSP.


Ne reste qu’a lancer le démon et vérifier le syslog :
Liste des certificats :
* didier.domicile.org ( pour Apache )
* ocspd
* didier ( utilisateur )


== Test ==
== Lancement du répondeur ==


On lance le démon
  # ocspd -c /etc/ocspd/ocspd.conf -v &
  # ocspd -c /etc/ocspd/ocspd.conf -v &


Et on vérifie le fichier <path>/var/log/messages</path> :
<pre>
<pre>
Jan  5 14:56:15 pki ocspd[22154]: OpenCA OCSPD v1.5.1 - starting.
Jan  6 11:17:41 didier ocspd[17173]: OpenCA OCSPD v1.5.1 - starting.
Jan  5 14:56:15 pki ocspd[22154]: reading certificate file (/opt/ocspd/etc/ocspd/certs/ocsp-cer
Jan  6 11:17:41 didier ocspd[17173]: Initialising HSM [(null)]
t.crt).
Jan  6 11:17:41 didier ocspd[17173]: Engine Initialisation Complete ["(null)"]
Jan  5 14:56:15 pki ocspd[22154]: Reading Private Key file /opt/ocspd/etc/ocspd/private/ocsp-ke
Jan  6 11:17:41 didier ocspd[17173]: reading certificate file (/etc/pki/httpd/certs/ocspd.crt).
y.pem
Jan  6 11:17:41 didier ocspd[17173]: Reading Private Key file /etc/pki/httpd/certs/ocspd.key
Jan  5 14:56:15 pki ocspd[22154]: reading CA certificate file.
Jan  6 11:17:41 didier ocspd[17173]: variable lookup failed for OCSPD_default::chroot_dir
Jan  5 14:56:15 pki ocspd[22154]: OCSP Daemon setup completed
Jan  6 11:17:41 didier ocspd[17173]: Auto CRL reload every 3600 secs
Jan  5 14:56:15 pki ocspd[22154]: variable lookup failed for OCSPD_default::chroot_dir
Jan  6 11:17:41 didier ocspd[17173]: variable lookup failed for OCSPD_default::crl_reload_expired
Jan  5 14:56:15 pki ocspd[22154]: Auto CRL reload every 3600 secs
Jan  6 11:17:41 didier ocspd[17173]: Number of CAs in configuration is 1
Jan  5 14:56:15 pki ocspd[22154]: Reload on expired CRLs enabled
Jan  6 11:17:41 didier ocspd[17173]: INFO::FORMAT::CA Cert [/etc/pki/httpd/httpd_ca.crt] is PEM formatted
Jan  5 14:56:15 pki ocspd[22154]: Number of CAs in configuration is 1
Jan  6 11:17:41 didier ocspd[17173]: CA CERT for first_ca loaded successfully.
Jan  5 14:56:15 pki ocspd[22154]: INFO::FORMAT::CA Cert [//opt/ocspd/etc/ocspd/certs/CA_Guiguiabloc-cert.pem] is PEM formatted
Jan  6 11:17:41 didier ocspd[17173]: CA List Entry added (CA list num 0)
Jan  5 14:56:15 pki ocspd[22154]: CA CERT for first_ca loaded successfully.
Jan  6 11:17:41 didier ocspd[17173]: INFO::CRL RELOAD::File Protocol
Jan  5 14:56:15 pki ocspd[22154]: CA List Entry added (CA list num 0)
Jan  6 11:17:41 didier ocspd[17173]: INFO::FILE::CRL is in PEM format
Jan  5 14:56:15 pki ocspd[22154]: INFO::CRL RELOAD::File Protocol
Jan  6 11:17:41 didier ocspd[17173]: CRL loaded [ first_ca ]
Jan  5 14:56:15 pki ocspd[22154]: INFO::FILE::CRL is in PEM format
Jan  6 11:17:41 didier ocspd[17173]: CRL and CA cert [0:1] check ok
Jan  5 14:56:15 pki ocspd[22154]: CRL loaded [ first_ca ]
Jan  6 11:17:41 didier ocspd[17173]: CRL matching CA cert ok [ 1 ]
Jan  5 14:56:15 pki ocspd[22154]: CRL and CA cert [0:1] check ok
Jan  6 11:17:41 didier ocspd[17173]: INFO::CRL::Verify 1 [OK=1]
Jan  5 14:56:15 pki ocspd[22154]: CRL matching CA cert ok [ 1 ]
Jan  6 11:17:41 didier ocspd[17173]: INFO::CRL is Valid
Jan  5 14:56:15 pki ocspd[22154]: INFO::CRL::Verify 1 [OK=1]
Jan  6 11:17:41 didier ocspd[17173]: INFO::CRL::-1 Entries [ first_ca ]
Jan  5 14:56:15 pki ocspd[22154]: INFO::CRL is Valid
Jan  6 11:17:41 didier ocspd[17173]: No Entries for CRL (@first_ca)
Jan  5 14:56:15 pki ocspd[22154]: INFO::CRL::16 Entries [ first_ca ]
Jan  6 11:17:41 didier ocspd[17173]: CRL loaded successfully [first_ca]
Jan  5 14:56:15 pki ocspd[22154]: CRL loaded successfully [first_ca]
Jan  6 11:17:41 didier ocspd[17173]: CRL validity check every 600 sec.
Jan  5 14:56:15 pki ocspd[22154]: variable lookup failed for ocsp_response::ocsp_add_response_c
Jan  6 11:17:41 didier ocspd[17173]: Configuration loaded and parsed
erts
Jan  6 11:17:41 didier ocspd[17173]: INFO::Local Address 0.0.0.0 [2560]
Jan  5 14:56:15 pki ocspd[22154]: variable lookup failed for OCSPD_default::crl_check_validity
Jan  6 11:17:41 didier ocspd[17173]: INFO::OPENCA_SRV_INFO_TREAD::new thread created
Jan  5 14:56:15 pki ocspd[22154]: Configuration loaded and parsed
Jan  5 14:56:15 pki ocspd[22154]: INFO::Local Address 192.168.1.1 [2560]
Jan  5 14:56:15 pki ocspd[22154]: INFO::OPENCA_SRV_INFO_TREAD::new thread created
</pre>
</pre>


Bien évidemment, vous fournissez au répondeur OCSP, la Liste de révocation des certificats (fichier CRL) et la database (index.txt).
== Validation d'un certificat ==
Si vous utilisez easyCA, ils sont générés sous $DIR et $DIR/crl par défaut (voir votre fichier openssl.cnf).
Et maintenant, on interroge le serveur OCSP pour savoir si le Certificat est encore valable :
 
Et maintenant, interrogeons le serveur OCSP pour savoir si mon Certificat (ici webmail.guiguiabloc.fr) est encore valable :
<pre>
<pre>
pki:# openssl ocsp -issuer CA_Guiguiabloc-cert.pem -CAfile CA_Guiguiabloc-cert.pem -cert webmail.guiguiabloc.fr.crt -url http://192.168.1.1:2560 -text
# openssl ocsp -issuer /etc/pki/httpd/httpd_ca.crt -CAfile /etc/pki/httpd/httpd_ca.crt \
  -cert /etc/pki/httpd/certs/didier.crt -url http://didier:2560 -text
OCSP Request Data:
OCSP Request Data:
     Version: 1 (0x0)
     Version: 1 (0x0)
Ligne 381 : Ligne 217 :
         Certificate ID:
         Certificate ID:
           Hash Algorithm: sha1
           Hash Algorithm: sha1
           Issuer Name Hash: 4A694097441CA470D697E82AF367D1F196B59680
           Issuer Name Hash: 3EE63093199C726BFB10E932EEB28389302BA577
           Issuer Key Hash: 6490C296FF639D9B75A899E2DB29DC7DA42EE38D
           Issuer Key Hash: 8DF2B393AADD2ED6A4F9D0DD76646A4A4D38EF8B
           Serial Number: 13
           Serial Number: 03
     Request Extensions:
     Request Extensions:
         OCSP Nonce:
         OCSP Nonce:  
             0410DDDA8DFEF460BA0C13ACCEBE7CDFDCB9
             0410653FE2B3B8484619786CC7FAA025E4AD
OCSP Response Data:
OCSP Response Data:
     OCSP Response Status: successful (0x0)
     OCSP Response Status: successful (0x0)
     Response Type: Basic OCSP Response
     Response Type: Basic OCSP Response
     Version: 1 (0x0)
     Version: 1 (0x0)
     Responder Id: C = FR, ST = Bretagne, O = Guiguiabloc, OU = Guiguiabloc, CN = ocsp.guiguiabloc.fr, emailAddress = pki@guiguiabloc.fr
     Responder Id: C = FR, ST = Languedoc-Roussillon, O = Home, OU = Admin, CN = ocspd, emailAddress = root@localhost
     Produced At: Jan  5 14:21:40 2009 GMT
     Produced At: Jan  6 10:19:24 2013 GMT
     Responses:
     Responses:
     Certificate ID:
     Certificate ID:
       Hash Algorithm: sha1
       Hash Algorithm: sha1
       Issuer Name Hash: 4A694097441CA470D697E82AF367D1F196B59680
       Issuer Name Hash: 3EE63093199C726BFB10E932EEB28389302BA577
       Issuer Key Hash: 6490C296FF639D9B75A899E2DB29DC7DA42EE38D
       Issuer Key Hash: 8DF2B393AADD2ED6A4F9D0DD76646A4A4D38EF8B
       Serial Number: 13
       Serial Number: 03
     Cert Status: good
     Cert Status: good
     This Update: Jan  5 14:16:51 2009 GMT
     This Update: Jan  6 10:09:23 2013 GMT
     Next Update: Jan  5 14:26:40 2009 GMT
     Next Update: Jan  6 10:24:24 2013 GMT
 
     Response Extensions:
     Response Extensions:
         OCSP Nonce:
         OCSP Nonce:  
             0410DDDA8DFEF460BA0C13ACCEBE7CDFDCB9
             0410653FE2B3B8484619786CC7FAA025E4AD
    Signature Algorithm: sha1WithRSAEncryption
        99:52:10:38:18:48:13:4e:56:2d:e9:b3:3f:d7:ab:04:75:05:
        0c:88:ec:e7:0f:b5:37:a3:f3:6d:94:c3:6b:51:55:d9:15:09:
        cb:a7:0c:3f:6e:4e:f7:13:21:f8:c4:41:5b:6d:b7:c9:22:5e:
        c8:89:6c:cc:e1:e1:fc:b0:58:2d:25:ae:4e:0d:e9:24:a0:fd:
        72:43:e0:e9:65:9a:d4:98:49:c1:30:18:3b:fc:f8:eb:c7:60:
        96:66:bd:62:6e:98:f0:6e:ca:98:cc:ef:2e:43:8d:c6:42:f3:
        09:e2:ae:4c:92:92:cb:39:bf:de:db:79:a3:8f:9a:a3:c7:89:
        82:c7:d9:2d:a3:3d:43:ec:10:b8:0f:2e:63:6e:9d:bb:43:3b:
        a3:03:2f:00:52:ee:e5:67:4b:85:40:7a:0d:a3:6d:a2:bc:3a:
        ce:3a:4e:f4:04:d0:e4:74:f3:cd:59:ef:08:72:9f:85:aa:8a:
        3c:67:cb:d0:99:67:8d:25:74:a6:69:6a:4a:6f:17:27:6e:31:
        59:ff:3d:4e:93:df:42:f2:45:62:78:2b:4d:5b:6b:b9:a1:0a:
        b9:b3:6f:60:bb:90:d8:45:a9:18:c3:95:3c:1a:56:57:80:1a:
        e9:4f:a0:c3:57:76:a5:7e:5f:bd:23:c5:9c:43:1f:d3:85:57:
        9b:f6:09:65
Certificate:
Certificate:
     Data:
     Data:
         Version: 3 (0x2)
         Version: 3 (0x2)
         Serial Number: 16 (0x10)
         Serial Number: 2 (0x2)
         Signature Algorithm: md5WithRSAEncryption
         Signature Algorithm: md5WithRSAEncryption
         Issuer: C=FR, ST=Bretagne, L=Brest, O=Guiguiabloc, OU=Guiguiabloc, CN=Guiguiabloc CA Authority/emailAddress=pki@guiguiabloc.fr
         Issuer: C=FR, ST=Languedoc-Roussillon, L=Beaucaire, O=Home, OU=Admin, CN=didier.domicile.org/emailAddress=root@localhost
         Validity
         Validity
             Not Before: Jul 18 08:08:25 2008 GMT
             Not Before: Jan  6 10:10:02 2013 GMT
             Not After : Jul 17 08:08:25 2013 GMT
             Not After : Jan  6 10:10:02 2014 GMT
         Subject: C=FR, ST=Bretagne, O=Guiguiabloc, OU=Guiguiabloc, CN=ocsp.guiguiabloc.fr/emailAddress=pki@guiguiabloc.fr
         Subject: C=FR, ST=Languedoc-Roussillon, O=Home, OU=Admin, CN=ocspd/emailAddress=root@localhost
         Subject Public Key Info:
         Subject Public Key Info:
             Public Key Algorithm: rsaEncryption
             Public Key Algorithm: rsaEncryption
            RSA Public Key: (1024 bit)
                Public-Key: (2048 bit)
                 Modulus (1024 bit):
                 Modulus:
                     00:bb:c8:c3:c0:78:26:88:8c:45:6c:2a:1b:88:fd:
                     00:af:8b:01:af:f8:79:ab:98:ab:7f:4b:c2:e0:8c:
                     71:57:c0:bb:23:e1:1e:40:86:d2:94:af:fc:e7:74:
                    f3:85:74:9f:80:3c:02:17:ce:f7:c2:fd:df:c1:3f:
                     41:3d:41:39:ac:a6:51:dc:4d:e8:80:53:a3:73:5d:
                    79:ff:3a:e2:dc:3c:06:ce:31:a8:27:ab:09:8a:b0:
                     74:0e:1f:04:b1:78:dc:ad:45:65:5b:4f:0e:b2:92:
                    ed:bb:a0:1d:c0:d5:cd:14:9a:6d:b6:ab:47:c0:5f:
                     3c:bc:64:bb:3e:70:2c:ca:b8:ea:dc:fc:33:31:01:
                     ce:57:78:78:dc:a9:2c:77:0a:20:e0:6b:4e:83:f6:
                     d2:05:b2:e2:60:0c:d2:a6:c1:e9:83:b0:ca:d9:42:
                     5e:b8:7b:36:02:e9:ba:e9:5b:fa:f3:99:6f:f5:4d:
                     98:44:8b:c3:df:63:dc:17:02:51:b6:f2:da:0e:c6:
                    b0:f2:a6:65:90:ef:81:a8:2f:80:97:44:68:5c:7f:
                     81:fa:78:1c:d2:ca:56:52:f3
                     c0:d4:91:ea:02:41:1f:d1:dc:3a:e1:8a:94:4a:23:
                    ff:b9:bc:67:cd:83:6e:f8:ba:d8:9a:3d:7c:94:6a:
                    33:78:b3:7c:c1:46:c7:61:6c:79:45:11:f1:03:2c:
                    58:d4:fc:ba:a3:61:5d:be:0f:65:77:79:84:8d:e3:
                     07:8d:4b:73:61:db:9b:02:aa:3d:16:8d:62:09:a5:
                     4e:be:3e:77:d9:04:24:93:6a:6c:79:70:b2:75:b7:
                    ac:97:08:0c:42:06:a0:76:28:03:d2:03:08:24:82:
                    6d:dc:48:61:a3:68:7a:c3:1a:1d:05:46:54:56:f1:
                     99:dd:3e:39:b1:7b:04:4a:53:42:27:a6:38:06:b2:
                     f1:fc:0f:04:72:5d:61:b3:56:97:b6:61:ca:29:e3:
                    47:2b
                 Exponent: 65537 (0x10001)
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
         X509v3 extensions:
             X509v3 Basic Constraints:
             X509v3 Basic Constraints:  
                 CA:FALSE
                 CA:FALSE
             X509v3 Key Usage:
             X509v3 Key Usage:  
                 Digital Signature
                 Digital Signature
             X509v3 Extended Key Usage:
             X509v3 Extended Key Usage:  
                 OCSP Signing
                 OCSP Signing
             X509v3 Issuer Alternative Name:
             X509v3 Issuer Alternative Name:  
                <EMPTY>
             X509v3 Subject Key Identifier:
 
                 1A:18:4A:7A:BC:DB:3E:CD:60:87:0B:A3:11:4D:4F:E6:CE:19:17:27
             X509v3 Subject Key Identifier:  
             X509v3 Authority Key Identifier:
                 75:DB:73:BF:04:1B:00:7C:1A:CB:33:35:D4:71:B8:1C:CF:29:18:F4
                 keyid:64:90:C2:96:FF:63:9D:9B:75:A8:99:E2:DB:29:DC:7D:A4:2E:E3:8D
             X509v3 Authority Key Identifier:  
                 DirName:/C=FR/ST=Bretagne/L=Brest/O=GuiGuiabloc/OU=Guiguiabloc/CN=Guiguiabloc CA Authority/emailAddress=pki@guiguiabloc.fr
                 keyid:8D:F2:B3:93:AA:DD:2E:D6:A4:F9:D0:DD:76:64:6A:4A:4D:38:EF:8B
                 serial:B9:0E:D5:3E:0F:DA:79:FF
                 DirName:/C=FR/ST=Languedoc-Roussillon/L=Beaucaire/O=Home/OU=Admin/CN=didier.domicile.org/emailAddress=root@localhost
                 serial:B0:E6:8E:F9:60:1E:5B:4D
             Authority Information Access:
 
                 OCSP - URI:http://ocsp.guiguiabloc.fr/
             Authority Information Access:  
                 OCSP - URI:http://didier.domicile.org/
 
     Signature Algorithm: md5WithRSAEncryption
     Signature Algorithm: md5WithRSAEncryption
         0c:3a:3f:79:7e:e4:21:be:1b:d1:d4:ef:8f:1d:33:af:f2:88:
         1b:45:a5:b5:ad:d7:d9:8f:53:7d:6e:e1:04:c9:8e:9b:4c:7c:
         eb:0f:40:cb:24:50:9b:47:cc:61:e2:a9:a3:6e:c5:4f:2a:7c:
        21:ff:04:2d:f9:2b:60:ca:b7:6a:41:f9:be:cf:f6:6d:6f:3e:
         b5:03:f1:a1:b8:b7:23:c7:e1:00:61:3a:c0:7c:8f:c6:2f:c7:
        72:07:3b:50:8a:b0:6b:92:25:01:a4:9d:c9:86:c4:f5:08:43:
         6a:c9:98:ad:af:ff:28:db:c6:1f:17:d3:54:f3:d7:1a:96:51:
         bd:49:7e:d2:62:53:48:ae:19:c3:92:c9:08:98:2b:00:7b:ff:
         19:04:6c:f8:92:74:70:de:54:c1:55:d3:9d:27:99:8b:09:be:
        c5:31:62:4d:22:f2:4f:5f:a6:1b:d0:9d:28:cb:e2:03:ca:57:
         98:27:e6:5b:1e:14:a2:a9:d2:cb:a2:d7:52:8a:e1:ac:9b:a7:
         14:1b:96:74:df:24:78:1a:8d:a4:b1:aa:9c:d0:8f:84:5d:f6:
         52:a2:5b:90:dc:cc:8f:33:4b:7a:99:60:4d:5e:b9:e6:71:ed:
         86:67:92:f0:f7:cd:63:6a:a6:41:ac:51:fb:3c:51:3c:a9:0d:
         be:92
        d7:00:9a:8e:bb:af:1d:a0:d9:7f:2d:d6:60:40:ae:4a:e7:64:
        09:bc:71:d8:d3:59:2e:df:43:d3:19:5d:e3:21:b3:2c:f3:d4:
        73:b0:b8:5c:c2:c3:83:26:4e:9e:96:a3:13:55:1c:38:a4:65:
         c3:b3:2d:e7:92:65:a2:4d:b9:e6:89:41:39:8f:e8:fd:db:6c:
        05:43:31:be:9f:c4:5a:e5:70:6a:91:81:2b:bf:62:cd:97:54:
         e1:45:15:fc:1f:56:3d:08:c4:7a:e7:8b:2a:16:09:9c:3c:56:
         12:ac:e4:bf:ea:41:aa:35:33:f8:ac:52:3a:3d:fc:34:b8:4c:
         c2:7b:8d:2b
-----BEGIN CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIID/DCCA2WgAwIBAgIBEDANBgkqhkiG9w0BAQQFADCBnDELMAkGA1UEBhMCRlIx
MIIE/DCCA+SgAwIBAgIBAjANBgkqhkiG9w0BAQQFADCBnDELMAkGA1UEBhMCRlIx
ETAPBgNVBAgTCEJyZXRhZ25lMQ4wDAYDVQQHEwVCcmVzdDEVMBMGA1UEChMMU3R5
HTAbBgNVBAgTFExhbmd1ZWRvYy1Sb3Vzc2lsbG9uMRIwEAYDVQQHEwlCZWF1Y2Fp
eCBOZXR3b3JrMRAwDgYDVQQLEwdTdHl4bmV0MSIwIAYDVQQDExlTdHl4IE5ldHdv
cmUxDTALBgNVBAoTBEhvbWUxDjAMBgNVBAsTBUFkbWluMRwwGgYDVQQDExNkaWRp
cmsgQ0EgQXV0aG9yaXR5MR0wGwYJKoZIhvcNAQkBFg5wa2lAc3R5eG5ldC5mcjAe
ZXIuZG9taWNpbGUub3JnMR0wGwYJKoZIhvcNAQkBFg5yb290QGxvY2FsaG9zdDAe
Fw0wODA3MTgwODA4MjVaFw0xMzA3MTcwODA4MjVaMIGCMQswCQYDVQQGEwJGUjER
Fw0xMzAxMDYxMDEwMDJaFw0xNDAxMDYxMDEwMDJaMHoxCzAJBgNVBAYTAkZSMR0w
MA8GA1UECBMIQnJldGFnbmUxFTATBgNVBAoTDFN0eXggTmV0d29yazEQMA4GA1UE
GwYDVQQIExRMYW5ndWVkb2MtUm91c3NpbGxvbjENMAsGA1UEChMESG9tZTEOMAwG
CxMHU3R5eG5ldDEYMBYGA1UEAxMPb2NzcC5zdHl4bmV0LmZyMR0wGwYJKoZIhvcN
A1UECxMFQWRtaW4xDjAMBgNVBAMTBW9jc3BkMR0wGwYJKoZIhvcNAQkBFg5yb290
AQkBFg5wa2lAc3R5eG5ldC5mcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
QGxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK+LAa/4
psHpg7DK2UKYRIvD32PcFwJRtvLaDsaB+ngc0spWUvMCAwEAAaOCAWQwggFgMAkG
eauYq39LwuCM84V0n4A8AhfO98L938E/ef864tw8Bs4xqCerCYqw7bugHcDVzRSa
A1UdEwQCMAAwCwYDVR0PBAQDAgeAMBMGA1UdJQQMMAoGCCsGAQUFBwMJMAkGA1Ud
bbarR8Bfzld4eNypLHcKIOBrToP2Xrh7NgLpuulb+vOZb/VNsPKmZZDvgagvgJdE
EgQCMAAwHQYDVR0OBBYEFBoYSnq82z7NYIcLoxFNT+bOGRcnMIHRBgNVHSMEgckw
aFx/wNSR6gJBH9HcOuGKlEoj/7m8Z82Dbvi62Jo9fJRqM3izfMFGx2FseUUR8QMs
gcaAFGSQwpb/Y52bdaiZ4tsp3H2kLuONoYGipIGfMIGcMQswCQYDVQQGEwJGUjER
WNT8uqNhXb4PZXd5hI3jB41Lc2HbmwKqPRaNYgmlTr4+d9kEJJNqbHlwsnW3rJcI
MA8GA1UECBMIQnJldGFnbmUxDjAMBgNVBAcTBUJyZXN0MRUwEwYDVQQKEwxTdHl4
DEIGoHYoA9IDCCSCbdxIYaNoesMaHQVGVFbxmd0+ObF7BEpTQiemOAay8fwPBHJd
IE5ldHdvcmsxEDAOBgNVBAsTB1N0eXhuZXQxIjAgBgNVBAMTGVN0eXggTmV0d29y
YbNWl7ZhyinjRysCAwEAAaOCAWgwggFkMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgeA
ayBDQSBBdXRob3JpdHkxHTAbBgkqhkiG9w0BCQEWDnBraUBzdHl4bmV0LmZyggkA
MBMGA1UdJQQMMAoGCCsGAQUFBwMJMAkGA1UdEgQCMAAwHQYDVR0OBBYEFHXbc78E
uQ7VPg/aef8wMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzABhhdodHRwOi8vb2Nz
GwB8GsszNdRxuBzPKRj0MIHRBgNVHSMEgckwgcaAFI3ys5Oq3S7WpPnQ3XZkakpN
cC5zdHl4bmV0LmZyLzANBgkqhkiG9w0BAQQFAAOBgQAMOj95fuQhvhvR1O+PHTOv
OO+LoYGipIGfMIGcMQswCQYDVQQGEwJGUjEdMBsGA1UECBMUTGFuZ3VlZG9jLVJv
8ojrD0DLJFCbR8xh4qmjbsVPKny1A/GhuLcjx+EAYTrAfI/GL8dqyZitr/8o28Yf
dXNzaWxsb24xEjAQBgNVBAcTCUJlYXVjYWlyZTENMAsGA1UEChMESG9tZTEOMAwG
F9NU89callEZBGz4knRw3lTBVdOdJ5mLCb6YJ+ZbHhSiqdLLotdSiuGsm6dSoluQ
A1UECxMFQWRtaW4xHDAaBgNVBAMTE2RpZGllci5kb21pY2lsZS5vcmcxHTAbBgkq
3MyPM0t6mWBNXrnmce2+kg==
hkiG9w0BCQEWDnJvb3RAbG9jYWxob3N0ggkAsOaO+WAeW00wNwYIKwYBBQUHAQEE
KzApMCcGCCsGAQUFBzABhhtodHRwOi8vZGlkaWVyLmRvbWljaWxlLm9yZy8wDQYJ
KoZIhvcNAQEEBQADggEBABtFpbWt19mPU31u4QTJjptMfCH/BC35K2DKt2pB+b7P
9m1vPnIHO1CKsGuSJQGkncmGxPUIQ71JftJiU0iuGcOSyQiYKwB7/8UxYk0i8k9f
phvQnSjL4gPKVxQblnTfJHgajaSxqpzQj4Rd9oZnkvD3zWNqpkGsUfs8UTypDdcA
mo67rx2g2X8t1mBArkrnZAm8cdjTWS7fQ9MZXeMhsyzz1HOwuFzCw4MmTp6WoxNV
HDikZcOzLeeSZaJNueaJQTmP6P3bbAVDMb6fxFrlcGqRgSu/Ys2XVOFFFfwfVj0I
xHrniyoWCZw8VhKs5L/qQao1M/isUjo9/DS4TMJ7jSs=
-----END CERTIFICATE-----
-----END CERTIFICATE-----
Response verify OK
Response verify OK
webmail.guiguiabloc.fr.crt: good
/etc/pki/httpd/certs/didier.crt: good
        This Update: Jan  6 10:09:23 2013 GMT
        Next Update: Jan  6 10:24:24 2013 GMT
</pre>
</pre>


Réponse : GOOD tout va bien :-)
Réponse : '''{{color|green|GOOD}}''' tout va bien {{Admon/smiley|:-)}}


La réponse peut être: GOOD REVOKED UNKNOWN
La réponse peut être: '''{{color|green|GOOD}} - {{color|red|REVOKED}} - {{color|orange|UNKNOWN}}'''


Vous pouvez inclure directement dans votre certificat l’adresse de votre répondeur OCSP en ajoutant des extensions à votre openssl.cnf :
= Intégration dans les navigateurs =
<pre>
[OCSP]
basicConstraints        = CA:FALSE
keyUsage                = digitalSignature
extendedKeyUsage        = OCSPSigning
issuerAltName          = issuer:copy
subjectKeyIdentifier    = hash
authorityKeyIdentifier  = keyid:always,issuer:always
authorityInfoAccess    = OCSP;URI:http://ocsp.guiguiabloc.fr/
[SERVEUR_OCSP]
nsComment                      = "Guiguiabloc Certificate"
subjectKeyIdentifier            = hash
authorityKeyIdentifier          = keyid,issuer:always
issuerAltName                  = issuer:copy
basicConstraints                = critical,CA:FALSE
keyUsage                        = digitalSignature, nonRepudiation, keyEncipherment
nsCertType                      = server
extendedKeyUsage                = serverAuth
authorityInfoAccess            = OCSP;URI:http://ocsp.guiguiabloc.fr/
[CLIENT_OCSP]
nsComment                      = "Certificat Client SSL"
subjectKeyIdentifier            = hash
authorityKeyIdentifier          = keyid,issuer:always
issuerAltName                  = issuer:copy
basicConstraints                = critical,CA:FALSE
keyUsage                        = digitalSignature, nonRepudiation
nsCertType                      = client
extendedKeyUsage                = clientAuth
authorityInfoAccess            = OCSP;URI:http://ocsp.guiguiabloc.fr/
</pre>
Puis d’invoquer l’extension lors de la création du certificat avec openssl (-extensions CLIENT_OCSP (par exemple).


== Firefox ==
== Firefox ==

Dernière version du 29 août 2013 à 07:11

Introduction

Online Certificate Status Protocol(OCSP ou en français protocole de vérification en ligne de certificat) est un protocole Internet utilisé pour valider un certificat numérique X.509. OCSP est standardisé par l'IETF dans la RFC 2560.

Ce protocole est une alternative réglant certains des problèmes posés par les liste de révocation de certificats (CRL) dans une infrastructure à clés publiques (PKI). Les messages OCSP sont codés en ASN.1 et peuvent être transportés par différents protocoles applicatifs (SMTP, LDAP, HTTP, etc.). Les communications OCSP étant de la forme « requête/réponse », les serveurs OCSP sont appelés répondeurs OCSP.

Centralisation de la validation des certificats

La validation des certificats est une tâche plus complexe qu'il n'y paraît. Elle est traditionnellement effectuée par le client de la PKI. Une grande confiance est ainsi accordée au client pour ce traitement critique. Or une grande partie des clients PKI effectuent leur validation de manière encore incomplète ou imparfaite (en 2006). Par exemple, la non-automatisation de la récupération des CRL des navigateurs web pose un problème quant à la mise à jour des informations.

OCSP permet de centraliser cette tâche au sein d'une PKI. Afin de valider un certificat, le client n'a plus à communiquer qu'avec une seule entité : le répondeur OCSP. On peut parler aussi d'autorité de validation (VA pour Validation Authorithy).

Avantage par rapport aux CRL

Plusieurs raisons peuvent amener à préférer le protocole OCSP aux traditionnelles CRL.

  • OCSP fournit des informations sur le statut du certificat plus à jour.
  • Avec OCSP, le client n'a plus besoin de récupérer lui-même la CRL. Vue la taille parfois importante de cette CRL, cela allège le trafic réseau.
  • Le client n'a plus à traiter lui-même la CRL. Cela permet l'économie d'un traitement relativement complexe.
  • Le répondeur OCSP permet de proposer des mécanismes de facturation au vendeur, et non pas à l'acheteur
  • Les CRL peuvent être comparées à une "liste de mauvais clients" d'une banque. Cela constitue une fuite d'information non souhaitable.

Autres avantages

OCSP présente d'autres avantages en termes de déploiement des clients et d'architecture réseau.

  • C'est le répondeur OCSP qui récupère les différents certificats constitutifs d'une chaîne de certificats et les CRL. Cela simplifie les communications, car le client ne dispose pas forcément de la connectivité nécessaire à leur récupération (filtrage par un pare-feu, etc.).
  • Le répondeur OCSP valide la remontée du chemin de certification. Le client fait donc l'économie de cet autre traitement consommateur en ressources.
  • Grâce au chaînage des répondeurs OCSP, le client ne communique qu'avec un seul répondeur, digne de confiance. Cela épargne au client des communications plus complexes.

Exemple d'utilisation

  1. Alice et Bob sont des clients d'Ivan, l'autorité de certification (AC). Ils possèdent le certificat de clé publique d'Ivan.
  2. Alice et Bob possèdent chacun un certificat de clé publique émis par Ivan.
  3. Alice veut effectuer une transaction avec Bob. Elle lui envoie donc son certificat contenant sa clé publique.
  4. Bob veut s'assurer que le certificat d'Alice n'a pas été révoqué. Il crée une requête OCSP contenant l'empreinte du certificat d'Alice et l'envoie à Ivan.
  5. Le répondeur OCSP d'Ivan vérifie le statut du certificat d'Alice dans la base de données de la CA.
  6. Le répondeur OCSP confirme la validité du certificat d'Alice en envoyant une réponse OCSP positive signée à Bob.
  7. Bob vérifie la signature cryptographique de la réponse.
  8. Bob effectue sa transaction avec Alice.

Concept de fonctionnement

Ce schéma illustre comment la requête OCSP est formée et envoyée vers le serveur OCSP:

Ocsp-request.png

Ce schéma illustre comment la réponse OCSP est formée et envoyée vers le client OCSP.

La réponse peut être: GOOD - REVOKED - UNKNOWN

Ocsp-responce.png

Liens externes

Alternatif à OCSP: le protocole SCVP

Installation

Il existe un projet libre de répondeur OCSP , qui est inclus dans l’excellentissime projet OpenCA : http://www.openca.org/projects/ocspd/

L’installation est des plus basiques, un groupe et un user dédié seront créés :

# yum install ocspd

Avec votre système de PKI préféré, générer un certificat publique et une clé privé pour votre serveur OCSP.

Liste des fichiers nécessaires au daemon :

  • Le certificat (<path>/etc/pki/httpd/certs/ocspd.crt</path>)et la clé associée (<path>/etc/pki/httpd/certs/ocspd.key</path>) pour le daemon OCSP
  • Le certificat Racine (<path>/etc/pki/httpd/httpd_ca.crt</path>)
  • La liste CRL (<path>/etc/pki/httpd/crl/crl.pem</path>)

Il ne reste qu’a configurer votre répondeur :

Fichier <path>/etc/ocspd/ocspd.conf</path>

[ ocspd ]
default_ocspd   = OCSPD_default         # The default ocspd section

[ OCSPD_default ]
dir              = /etc/ocspd   # Where everything is kept
md               = sha1
ocspd_certificate = /etc/pki/httpd/certs/ocspd.crt  # The OCSP server cert
ocspd_key         = /etc/pki/httpd/certs/ocspd.key  # The OCSP server key
pidfile           = /var/run/ocspd.pid              # Main process pid
user                    = ocspd
group                   = ocspd
bind                    = *
port                    = 2560
max_req_size            = 8192
threads_num             = 10
max_client_num          = 3
max_timeout_secs        = 5
crl_auto_reload = 3600
crl_check_validity = 600
response        = ocsp_response
dbms            = dbms_file
engine = off

[ ocsp_response ]
dir                     = /etc/ocspd
ocsp_add_response_certs        = 
ocsp_add_response_keyid = yes
next_update_days        = 0
next_update_mins        = 5

[ dbms_file ]
0.ca = @first_ca

[ first_ca ]
crl_url = file:///etc/pki/httpd/crl/crl.pem
ca_url  = file:///etc/pki/httpd/httpd_ca.crt

[ second_ca ]
crl_url = file:///etc/ocspd/crls/crl_02.pem
ca_url  = file:///etc/ocspd/certs/2nd_cacert.pem

Je vous laisse consulter le fichier conf en entier pour en comprendre le contenu et le modifier suivant vos besoins, mais la configuration ci-dessous, très simple, fonctionne pour un premier test.

Test

Génération des certificats

Vous pouvez inclure directement dans votre certificat l’adresse de votre répondeur OCSP en ajoutant des extensions à votre openssl.cnf :

[OCSP]
basicConstraints        = CA:FALSE
keyUsage                = digitalSignature
extendedKeyUsage        = OCSPSigning
issuerAltName           = issuer:copy
subjectKeyIdentifier    = hash
authorityKeyIdentifier  = keyid:always,issuer:always
authorityInfoAccess     = OCSP;URI:http://didier.domicile.org/
 
[OCSP_SERVER]
nsComment                       = "OpenSSL Generated Server Certificate"
subjectKeyIdentifier            = hash
authorityKeyIdentifier          = keyid,issuer:always
issuerAltName                   = issuer:copy
basicConstraints                = critical,CA:FALSE
keyUsage                        = digitalSignature, nonRepudiation, keyEncipherment
nsCertType                      = server
extendedKeyUsage                = serverAuth
authorityInfoAccess             = OCSP;URI:http://didier.domicile.org/
 
[OCSP_CLIENT]
nsComment                       = "OpenSSL Generated Client Certificate"
subjectKeyIdentifier            = hash
authorityKeyIdentifier          = keyid,issuer:always
issuerAltName                   = issuer:copy
basicConstraints                = critical,CA:FALSE
keyUsage                        = digitalSignature, nonRepudiation
nsCertType                      = client
extendedKeyUsage                = clientAuth
authorityInfoAccess             = OCSP;URI:http://didier.domicile.org/

L'autorité de certification, ainsi que tous les certificats vont être générés par le script manageCA. Tous ont une extension OCSP.

Liste des certificats :

  • didier.domicile.org ( pour Apache )
  • ocspd
  • didier ( utilisateur )

Lancement du répondeur

On lance le démon

# ocspd -c /etc/ocspd/ocspd.conf -v &

Et on vérifie le fichier <path>/var/log/messages</path> :

Jan  6 11:17:41 didier ocspd[17173]: OpenCA OCSPD v1.5.1 - starting.
Jan  6 11:17:41 didier ocspd[17173]: Initialising HSM [(null)]
Jan  6 11:17:41 didier ocspd[17173]: Engine Initialisation Complete ["(null)"]
Jan  6 11:17:41 didier ocspd[17173]: reading certificate file (/etc/pki/httpd/certs/ocspd.crt).
Jan  6 11:17:41 didier ocspd[17173]: Reading Private Key file /etc/pki/httpd/certs/ocspd.key
Jan  6 11:17:41 didier ocspd[17173]: variable lookup failed for OCSPD_default::chroot_dir
Jan  6 11:17:41 didier ocspd[17173]: Auto CRL reload every 3600 secs
Jan  6 11:17:41 didier ocspd[17173]: variable lookup failed for OCSPD_default::crl_reload_expired
Jan  6 11:17:41 didier ocspd[17173]: Number of CAs in configuration is 1
Jan  6 11:17:41 didier ocspd[17173]: INFO::FORMAT::CA Cert [/etc/pki/httpd/httpd_ca.crt] is PEM formatted
Jan  6 11:17:41 didier ocspd[17173]: CA CERT for first_ca loaded successfully.
Jan  6 11:17:41 didier ocspd[17173]: CA List Entry added (CA list num 0)
Jan  6 11:17:41 didier ocspd[17173]: INFO::CRL RELOAD::File Protocol
Jan  6 11:17:41 didier ocspd[17173]: INFO::FILE::CRL is in PEM format
Jan  6 11:17:41 didier ocspd[17173]: CRL loaded [ first_ca ]
Jan  6 11:17:41 didier ocspd[17173]: CRL and CA cert [0:1] check ok
Jan  6 11:17:41 didier ocspd[17173]: CRL matching CA cert ok [ 1 ]
Jan  6 11:17:41 didier ocspd[17173]: INFO::CRL::Verify 1 [OK=1]
Jan  6 11:17:41 didier ocspd[17173]: INFO::CRL is Valid
Jan  6 11:17:41 didier ocspd[17173]: INFO::CRL::-1 Entries [ first_ca ]
Jan  6 11:17:41 didier ocspd[17173]: No Entries for CRL (@first_ca)
Jan  6 11:17:41 didier ocspd[17173]: CRL loaded successfully [first_ca]
Jan  6 11:17:41 didier ocspd[17173]: CRL validity check every 600 sec.
Jan  6 11:17:41 didier ocspd[17173]: Configuration loaded and parsed
Jan  6 11:17:41 didier ocspd[17173]: INFO::Local Address 0.0.0.0 [2560]
Jan  6 11:17:41 didier ocspd[17173]: INFO::OPENCA_SRV_INFO_TREAD::new thread created

Validation d'un certificat

Et maintenant, on interroge le serveur OCSP pour savoir si le Certificat est encore valable :

# openssl ocsp -issuer /etc/pki/httpd/httpd_ca.crt -CAfile /etc/pki/httpd/httpd_ca.crt \
  -cert /etc/pki/httpd/certs/didier.crt -url http://didier:2560 -text
OCSP Request Data:
    Version: 1 (0x0)
    Requestor List:
        Certificate ID:
          Hash Algorithm: sha1
          Issuer Name Hash: 3EE63093199C726BFB10E932EEB28389302BA577
          Issuer Key Hash: 8DF2B393AADD2ED6A4F9D0DD76646A4A4D38EF8B
          Serial Number: 03
    Request Extensions:
        OCSP Nonce: 
            0410653FE2B3B8484619786CC7FAA025E4AD
OCSP Response Data:
    OCSP Response Status: successful (0x0)
    Response Type: Basic OCSP Response
    Version: 1 (0x0)
    Responder Id: C = FR, ST = Languedoc-Roussillon, O = Home, OU = Admin, CN = ocspd, emailAddress = root@localhost
    Produced At: Jan  6 10:19:24 2013 GMT
    Responses:
    Certificate ID:
      Hash Algorithm: sha1
      Issuer Name Hash: 3EE63093199C726BFB10E932EEB28389302BA577
      Issuer Key Hash: 8DF2B393AADD2ED6A4F9D0DD76646A4A4D38EF8B
      Serial Number: 03
    Cert Status: good
    This Update: Jan  6 10:09:23 2013 GMT
    Next Update: Jan  6 10:24:24 2013 GMT

    Response Extensions:
        OCSP Nonce: 
            0410653FE2B3B8484619786CC7FAA025E4AD
    Signature Algorithm: sha1WithRSAEncryption
        99:52:10:38:18:48:13:4e:56:2d:e9:b3:3f:d7:ab:04:75:05:
        0c:88:ec:e7:0f:b5:37:a3:f3:6d:94:c3:6b:51:55:d9:15:09:
        cb:a7:0c:3f:6e:4e:f7:13:21:f8:c4:41:5b:6d:b7:c9:22:5e:
        c8:89:6c:cc:e1:e1:fc:b0:58:2d:25:ae:4e:0d:e9:24:a0:fd:
        72:43:e0:e9:65:9a:d4:98:49:c1:30:18:3b:fc:f8:eb:c7:60:
        96:66:bd:62:6e:98:f0:6e:ca:98:cc:ef:2e:43:8d:c6:42:f3:
        09:e2:ae:4c:92:92:cb:39:bf:de:db:79:a3:8f:9a:a3:c7:89:
        82:c7:d9:2d:a3:3d:43:ec:10:b8:0f:2e:63:6e:9d:bb:43:3b:
        a3:03:2f:00:52:ee:e5:67:4b:85:40:7a:0d:a3:6d:a2:bc:3a:
        ce:3a:4e:f4:04:d0:e4:74:f3:cd:59:ef:08:72:9f:85:aa:8a:
        3c:67:cb:d0:99:67:8d:25:74:a6:69:6a:4a:6f:17:27:6e:31:
        59:ff:3d:4e:93:df:42:f2:45:62:78:2b:4d:5b:6b:b9:a1:0a:
        b9:b3:6f:60:bb:90:d8:45:a9:18:c3:95:3c:1a:56:57:80:1a:
        e9:4f:a0:c3:57:76:a5:7e:5f:bd:23:c5:9c:43:1f:d3:85:57:
        9b:f6:09:65
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 2 (0x2)
        Signature Algorithm: md5WithRSAEncryption
        Issuer: C=FR, ST=Languedoc-Roussillon, L=Beaucaire, O=Home, OU=Admin, CN=didier.domicile.org/emailAddress=root@localhost
        Validity
            Not Before: Jan  6 10:10:02 2013 GMT
            Not After : Jan  6 10:10:02 2014 GMT
        Subject: C=FR, ST=Languedoc-Roussillon, O=Home, OU=Admin, CN=ocspd/emailAddress=root@localhost
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:af:8b:01:af:f8:79:ab:98:ab:7f:4b:c2:e0:8c:
                    f3:85:74:9f:80:3c:02:17:ce:f7:c2:fd:df:c1:3f:
                    79:ff:3a:e2:dc:3c:06:ce:31:a8:27:ab:09:8a:b0:
                    ed:bb:a0:1d:c0:d5:cd:14:9a:6d:b6:ab:47:c0:5f:
                    ce:57:78:78:dc:a9:2c:77:0a:20:e0:6b:4e:83:f6:
                    5e:b8:7b:36:02:e9:ba:e9:5b:fa:f3:99:6f:f5:4d:
                    b0:f2:a6:65:90:ef:81:a8:2f:80:97:44:68:5c:7f:
                    c0:d4:91:ea:02:41:1f:d1:dc:3a:e1:8a:94:4a:23:
                    ff:b9:bc:67:cd:83:6e:f8:ba:d8:9a:3d:7c:94:6a:
                    33:78:b3:7c:c1:46:c7:61:6c:79:45:11:f1:03:2c:
                    58:d4:fc:ba:a3:61:5d:be:0f:65:77:79:84:8d:e3:
                    07:8d:4b:73:61:db:9b:02:aa:3d:16:8d:62:09:a5:
                    4e:be:3e:77:d9:04:24:93:6a:6c:79:70:b2:75:b7:
                    ac:97:08:0c:42:06:a0:76:28:03:d2:03:08:24:82:
                    6d:dc:48:61:a3:68:7a:c3:1a:1d:05:46:54:56:f1:
                    99:dd:3e:39:b1:7b:04:4a:53:42:27:a6:38:06:b2:
                    f1:fc:0f:04:72:5d:61:b3:56:97:b6:61:ca:29:e3:
                    47:2b
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:FALSE
            X509v3 Key Usage: 
                Digital Signature
            X509v3 Extended Key Usage: 
                OCSP Signing
            X509v3 Issuer Alternative Name: 
                <EMPTY>

            X509v3 Subject Key Identifier: 
                75:DB:73:BF:04:1B:00:7C:1A:CB:33:35:D4:71:B8:1C:CF:29:18:F4
            X509v3 Authority Key Identifier: 
                keyid:8D:F2:B3:93:AA:DD:2E:D6:A4:F9:D0:DD:76:64:6A:4A:4D:38:EF:8B
                DirName:/C=FR/ST=Languedoc-Roussillon/L=Beaucaire/O=Home/OU=Admin/CN=didier.domicile.org/emailAddress=root@localhost
                serial:B0:E6:8E:F9:60:1E:5B:4D

            Authority Information Access: 
                OCSP - URI:http://didier.domicile.org/

    Signature Algorithm: md5WithRSAEncryption
        1b:45:a5:b5:ad:d7:d9:8f:53:7d:6e:e1:04:c9:8e:9b:4c:7c:
        21:ff:04:2d:f9:2b:60:ca:b7:6a:41:f9:be:cf:f6:6d:6f:3e:
        72:07:3b:50:8a:b0:6b:92:25:01:a4:9d:c9:86:c4:f5:08:43:
        bd:49:7e:d2:62:53:48:ae:19:c3:92:c9:08:98:2b:00:7b:ff:
        c5:31:62:4d:22:f2:4f:5f:a6:1b:d0:9d:28:cb:e2:03:ca:57:
        14:1b:96:74:df:24:78:1a:8d:a4:b1:aa:9c:d0:8f:84:5d:f6:
        86:67:92:f0:f7:cd:63:6a:a6:41:ac:51:fb:3c:51:3c:a9:0d:
        d7:00:9a:8e:bb:af:1d:a0:d9:7f:2d:d6:60:40:ae:4a:e7:64:
        09:bc:71:d8:d3:59:2e:df:43:d3:19:5d:e3:21:b3:2c:f3:d4:
        73:b0:b8:5c:c2:c3:83:26:4e:9e:96:a3:13:55:1c:38:a4:65:
        c3:b3:2d:e7:92:65:a2:4d:b9:e6:89:41:39:8f:e8:fd:db:6c:
        05:43:31:be:9f:c4:5a:e5:70:6a:91:81:2b:bf:62:cd:97:54:
        e1:45:15:fc:1f:56:3d:08:c4:7a:e7:8b:2a:16:09:9c:3c:56:
        12:ac:e4:bf:ea:41:aa:35:33:f8:ac:52:3a:3d:fc:34:b8:4c:
        c2:7b:8d:2b
-----BEGIN CERTIFICATE-----
MIIE/DCCA+SgAwIBAgIBAjANBgkqhkiG9w0BAQQFADCBnDELMAkGA1UEBhMCRlIx
HTAbBgNVBAgTFExhbmd1ZWRvYy1Sb3Vzc2lsbG9uMRIwEAYDVQQHEwlCZWF1Y2Fp
cmUxDTALBgNVBAoTBEhvbWUxDjAMBgNVBAsTBUFkbWluMRwwGgYDVQQDExNkaWRp
ZXIuZG9taWNpbGUub3JnMR0wGwYJKoZIhvcNAQkBFg5yb290QGxvY2FsaG9zdDAe
Fw0xMzAxMDYxMDEwMDJaFw0xNDAxMDYxMDEwMDJaMHoxCzAJBgNVBAYTAkZSMR0w
GwYDVQQIExRMYW5ndWVkb2MtUm91c3NpbGxvbjENMAsGA1UEChMESG9tZTEOMAwG
A1UECxMFQWRtaW4xDjAMBgNVBAMTBW9jc3BkMR0wGwYJKoZIhvcNAQkBFg5yb290
QGxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK+LAa/4
eauYq39LwuCM84V0n4A8AhfO98L938E/ef864tw8Bs4xqCerCYqw7bugHcDVzRSa
bbarR8Bfzld4eNypLHcKIOBrToP2Xrh7NgLpuulb+vOZb/VNsPKmZZDvgagvgJdE
aFx/wNSR6gJBH9HcOuGKlEoj/7m8Z82Dbvi62Jo9fJRqM3izfMFGx2FseUUR8QMs
WNT8uqNhXb4PZXd5hI3jB41Lc2HbmwKqPRaNYgmlTr4+d9kEJJNqbHlwsnW3rJcI
DEIGoHYoA9IDCCSCbdxIYaNoesMaHQVGVFbxmd0+ObF7BEpTQiemOAay8fwPBHJd
YbNWl7ZhyinjRysCAwEAAaOCAWgwggFkMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgeA
MBMGA1UdJQQMMAoGCCsGAQUFBwMJMAkGA1UdEgQCMAAwHQYDVR0OBBYEFHXbc78E
GwB8GsszNdRxuBzPKRj0MIHRBgNVHSMEgckwgcaAFI3ys5Oq3S7WpPnQ3XZkakpN
OO+LoYGipIGfMIGcMQswCQYDVQQGEwJGUjEdMBsGA1UECBMUTGFuZ3VlZG9jLVJv
dXNzaWxsb24xEjAQBgNVBAcTCUJlYXVjYWlyZTENMAsGA1UEChMESG9tZTEOMAwG
A1UECxMFQWRtaW4xHDAaBgNVBAMTE2RpZGllci5kb21pY2lsZS5vcmcxHTAbBgkq
hkiG9w0BCQEWDnJvb3RAbG9jYWxob3N0ggkAsOaO+WAeW00wNwYIKwYBBQUHAQEE
KzApMCcGCCsGAQUFBzABhhtodHRwOi8vZGlkaWVyLmRvbWljaWxlLm9yZy8wDQYJ
KoZIhvcNAQEEBQADggEBABtFpbWt19mPU31u4QTJjptMfCH/BC35K2DKt2pB+b7P
9m1vPnIHO1CKsGuSJQGkncmGxPUIQ71JftJiU0iuGcOSyQiYKwB7/8UxYk0i8k9f
phvQnSjL4gPKVxQblnTfJHgajaSxqpzQj4Rd9oZnkvD3zWNqpkGsUfs8UTypDdcA
mo67rx2g2X8t1mBArkrnZAm8cdjTWS7fQ9MZXeMhsyzz1HOwuFzCw4MmTp6WoxNV
HDikZcOzLeeSZaJNueaJQTmP6P3bbAVDMb6fxFrlcGqRgSu/Ys2XVOFFFfwfVj0I
xHrniyoWCZw8VhKs5L/qQao1M/isUjo9/DS4TMJ7jSs=
-----END CERTIFICATE-----
Response verify OK
/etc/pki/httpd/certs/didier.crt: good
        This Update: Jan  6 10:09:23 2013 GMT
        Next Update: Jan  6 10:24:24 2013 GMT

Réponse : GOOD tout va bien Face-smile.png

La réponse peut être: GOOD - REVOKED - UNKNOWN

Intégration dans les navigateurs

Firefox

Dans Firefox, pour configurer l’interrogation automatique du répondeur OCSP, allez dans Outils/Options/Avance/Chiffrement et cliquez sur “Vérification”.

Firefox ocsp.png