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

De TartareFR
Aller à la navigation Aller à la recherche
Ligne 164 : Ligne 164 :
</pre>
</pre>


Bien évidemment, vous fournissez au répondeur OCSP, la Liste de révocation des certificats (fichier CRL) et la database (index.txt).
Et maintenant, interrogeons le serveur OCSP pour savoir si le Certificat est encore valable :
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, interrogeons le serveur OCSP pour savoir si mon Certificat (ici webmail.guiguiabloc.fr) est encore valable :
<pre>
<pre>
# 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://localhost: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 180 : Ligne 177 :
     Request Extensions:
     Request Extensions:
         OCSP Nonce:  
         OCSP Nonce:  
             0410072A6DE778E64A05B2D5578B6CE6E353
             0410C0BDCFE56D28535AD716BC7B76271627
OCSP Response Data:
OCSP Response Data:
     OCSP Response Status: successful (0x0)
     OCSP Response Status: successful (0x0)
Ligne 186 : Ligne 183 :
     Version: 1 (0x0)
     Version: 1 (0x0)
     Responder Id: C = FR, ST = Languedoc-Roussillon, O = Home, OU = User, CN = ocspd, emailAddress = root@localhost
     Responder Id: C = FR, ST = Languedoc-Roussillon, O = Home, OU = User, CN = ocspd, emailAddress = root@localhost
     Produced At: Jan  5 11:14:18 2013 GMT
     Produced At: Jan  5 11:59:31 2013 GMT
     Responses:
     Responses:
     Certificate ID:
     Certificate ID:
Ligne 195 : Ligne 192 :
     Cert Status: good
     Cert Status: good
     This Update: Jan  4 13:05:05 2013 GMT
     This Update: Jan  4 13:05:05 2013 GMT
     Next Update: Jan  5 11:19:18 2013 GMT
     Next Update: Jan  5 12:04:31 2013 GMT


     Response Extensions:
     Response Extensions:
         OCSP Nonce:  
         OCSP Nonce:  
             0410072A6DE778E64A05B2D5578B6CE6E353
             0410C0BDCFE56D28535AD716BC7B76271627
     Signature Algorithm: sha1WithRSAEncryption
     Signature Algorithm: sha1WithRSAEncryption
         c8:01:bd:cd:80:19:a0:22:24:87:99:04:25:f0:99:94:a6:5b:
         69:ba:66:35:07:1d:21:36:90:8a:a2:05:85:a8:88:bb:66:f2:
         db:45:6d:1c:82:05:39:19:f5:13:d9:ea:50:cb:f0:db:07:99:
         5f:76:50:41:8b:cd:d8:0a:05:80:4c:64:db:02:77:6d:b9:71:
         70:80:1e:dc:7e:1b:a5:f8:39:6c:b0:c9:55:db:62:e7:a5:20:
        47:e4:80:53:23:9a:a5:9c:3b:de:8f:4f:b3:70:52:69:86:b4:
         50:6a:44:61:0e:b3:da:cc:1c:9a:cf:e2:8a:90:9f:c5:59:39:
         dc:78:63:fb:63:d3:78:b2:ae:46:4f:f8:76:76:4f:05:36:a7:
         03:1a:33:f5:38:9d:d2:6f:61:bb:96:46:b4:85:56:c5:3a:7e:
        b4:ab:00:45:0d:c5:ad:47:03:3a:14:0e:ba:29:41:17:a5:c0:
         c0:80:b7:3e:3f:e1:6c:c7:f1:85:0e:53:24:d6:20:45:dd:ac:
         49:15:81:29:85:21:6e:06:c5:27:fe:d5:8e:46:51:6a:f6:b1:
        f1:44:0f:ea:2d:40:12:30:8d:fd:d1:a0:e4:dd:7b:2d:9f:cb:
        d3:d9:7e:f7:5b:1e:11:59:f8:e7:f2:2b:d3:a6:b9:e9:11:5d:
        6f:a3:f3:23:60:6b:d0:9d:c7:de:cb:10:73:54:b0:90:0d:97:
        8e:ac:3c:36:60:9f:24:4f:b0:11:29:33:8d:57:b2:99:c5:a3:
        0c:69:35:ac:30:51:15:cd:1c:6c:8d:da:3b:6f:18:52:06:73:
        c0:ec:ef:f3:41:f7:15:be:83:b4:dc:15:2b:8d:6b:84:f6:65:
         b8:e0:88:44:9c:09:42:7f:55:4f:36:32:f3:cb:d4:7e:ba:1d:
         3f:cf:90:a6:26:df:b7:0b:09:3b:ca:6c:98:3c:7f:48:8d:46:
         ff:1c:de:8d:1a:9f:8e:a4:cd:fc:6f:5c:2d:dd:31:de:7e:a6:
        93:31:05:05:a9:95:21:3b:c2:64:50:a8:4d:95:db:4e:81:de:
         dd:34:d1:d0:57:5c:17:20:2a:83:c1:fa:ee:20:6b:38:77:41:
         7f:dc:67:cb:df:4d:ae:f3:ba:ed:01:b7:4c:16:3e:b7:f1:fa:
         c5:91:67:66:05:17:99:7d:bd:9b:7a:61:b7:37:59:7b:82:4b:
        a8:4a:03:8f:d5:4c:46:10:c1:89:18:7c:80:9a:d1:ef:bd:6c:
         a8:a4:f9:cf:17:9a:70:91:c4:d3:07:b4:f2:85:38:a8:54:84:
        46:8e:f0:3b:19:3d:8a:7e:7d:87:20:5f:db:8b:3c:b3:b8:42:
         29:26:89:19
        ba:3f:ef:8f
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 4 (0x4)
        Signature Algorithm: md5WithRSAEncryption
        Issuer: C=FR, ST=Languedoc-Roussillon, L=Beaucaire, O=Home, OU=Admin, CN=didier/emailAddress=root@localhost
        Validity
            Not Before: Jan  5 10:27:05 2013 GMT
            Not After : Jan  5 10:27:05 2014 GMT
        Subject: C=FR, ST=Languedoc-Roussillon, O=Home, OU=User, CN=ocspd/emailAddress=root@localhost
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:eb:07:b2:7e:85:bb:36:03:71:8c:7f:8a:f8:eb:
                    f4:1d:19:c8:43:e0:ac:25:1b:62:37:ce:fb:ee:1f:
                    d4:2a:15:eb:fe:f2:b7:55:93:26:2e:b1:5f:27:7c:
                    67:84:c2:ff:87:eb:ea:14:7c:63:f0:6f:a2:57:88:
                    95:5d:44:e1:ba:79:0f:c3:fe:55:71:20:c4:36:c6:
                    27:a0:0a:3e:70:fc:da:93:0b:eb:a1:1b:6f:0e:9f:
                    0e:1c:27:c9:f4:72:d3:87:0e:5e:bf:7d:0f:1f:54:
                    b3:2f:81:17:96:db:ff:00:27:dd:1e:30:de:f2:2c:
                    f1:3a:d6:05:6c:6f:81:d0:bd:e5:c3:51:23:8e:a5:
                    15:11:04:53:e7:27:39:2d:a0:83:cd:ac:02:f6:d0:
                    34:af:22:87:f4:92:4c:76:06:be:6c:13:22:17:b8:
                    2e:0d:c4:9c:09:7d:0b:e6:20:2a:05:60:99:62:e5:
                    15:8e:2a:f2:af:84:39:d4:10:76:59:35:1b:ad:1a:
                    55:f5:69:a9:e5:33:19:e5:b2:bb:90:d1:13:0d:f4:
                    23:a8:0f:08:15:2a:12:a7:ea:37:86:47:1d:5f:cc:
                    b5:03:45:c9:8c:39:85:d2:32:8b:ee:02:09:9e:8d:
                    c0:1d:2d:25:f5:9b:c0:41:b2:2e:5b:0d:bd:d2:dd:
                    4d:79
                Exponent: 65537 (0x10001)
         X509v3 extensions:
            X509v3 Basic Constraints:
                CA:FALSE
            Netscape Comment:
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier:
                B3:DD:FC:53:ED:84:9F:44:C0:FA:78:49:23:CB:99:8D:1A:03:FC:BE
            X509v3 Authority Key Identifier:
                keyid:06:FE:CE:10:7E:95:43:65:0B:60:FF:2D:8E:12:0D:40:96:FC:94:A2
                DirName:/C=FR/ST=Languedoc-Roussillon/L=Beaucaire/O=Home/OU=Admin/CN=didier/emailAddress=root@localhost
                serial:86:6C:32:53:0D:95:6A:C8
 
    Signature Algorithm: md5WithRSAEncryption
        96:78:07:28:3e:3b:e7:3e:65:68:d3:b9:8d:6a:c6:4e:c6:c2:
        a1:b8:a8:ed:8e:03:90:8a:7e:00:e6:15:33:ff:81:2e:ec:fc:
         0d:be:46:01:3c:63:be:96:e2:5e:0a:23:1a:97:bc:42:7c:8f:
        76:5b:dc:b0:00:37:ad:76:91:24:11:13:1f:57:55:af:89:fc:
        3e:ad:68:09:4f:af:51:8b:a3:49:b7:b5:2e:6e:5a:50:c0:33:
         9e:4d:d5:ed:94:60:78:0f:3f:81:ad:7c:6a:09:b0:fa:0f:5a:
        5d:74:55:c8:38:1c:d3:85:59:9d:52:88:95:7f:e1:b2:d5:b5:
         50:b3:13:25:e8:3e:34:f2:ef:01:88:bd:d4:21:b1:e4:79:3a:
        7d:c7:4b:1a:fb:e9:17:a7:07:3b:ec:fc:75:aa:8b:77:23:3c:
         88:57:51:8b:c2:ba:68:48:cf:24:c8:3d:7a:e5:6c:c5:f8:5f:
        a0:81:ca:45:23:6d:ed:d8:4e:88:46:70:aa:13:0d:d4:70:ac:
        39:b2:e8:bf:21:09:41:05:37:05:f0:25:4b:c4:dc:30:04:83:
        37:0a:24:3c:9e:5e:11:27:1b:dc:e4:e1:df:8d:9d:7b:a7:2b:
         7b:60:c9:1d:88:c4:b2:46:91:f3:29:fd:cb:e7:1a:2d:5b:8c:
        6e:3a:f5:fa
-----BEGIN CERTIFICATE-----
MIIEqTCCA5GgAwIBAgIBBDANBgkqhkiG9w0BAQQFADCBjzELMAkGA1UEBhMCRlIx
HTAbBgNVBAgTFExhbmd1ZWRvYy1Sb3Vzc2lsbG9uMRIwEAYDVQQHEwlCZWF1Y2Fp
cmUxDTALBgNVBAoTBEhvbWUxDjAMBgNVBAsTBUFkbWluMQ8wDQYDVQQDEwZkaWRp
ZXIxHTAbBgkqhkiG9w0BCQEWDnJvb3RAbG9jYWxob3N0MB4XDTEzMDEwNTEwMjcw
NVoXDTE0MDEwNTEwMjcwNVoweTELMAkGA1UEBhMCRlIxHTAbBgNVBAgTFExhbmd1
ZWRvYy1Sb3Vzc2lsbG9uMQ0wCwYDVQQKEwRIb21lMQ0wCwYDVQQLEwRVc2VyMQ4w
DAYDVQQDEwVvY3NwZDEdMBsGCSqGSIb3DQEJARYOcm9vdEBsb2NhbGhvc3QwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDrB7J+hbs2A3GMf4r46/QdGchD
4KwlG2I3zvvuH9QqFev+8rdVkyYusV8nfGeEwv+H6+oUfGPwb6JXiJVdROG6eQ/D
/lVxIMQ2xiegCj5w/NqTC+uhG28Onw4cJ8n0ctOHDl6/fQ8fVLMvgReW2/8AJ90e
MN7yLPE61gVsb4HQveXDUSOOpRURBFPnJzktoIPNrAL20DSvIof0kkx2Br5sEyIX
uC4NxJwJfQvmICoFYJli5RWOKvKvhDnUEHZZNRutGlX1aanlMxnlsruQ0RMN9COo
DwgVKhKn6jeGRx1fzLUDRcmMOYXSMovuAgmejcAdLSX1m8BBsi5bDb3S3U15AgMB
AAGjggEjMIIBHzAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdl
bmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUs938U+2En0TA+nhJI8uZjRoD
/L4wgcQGA1UdIwSBvDCBuYAUBv7OEH6VQ2ULYP8tjhINQJb8lKKhgZWkgZIwgY8x
CzAJBgNVBAYTAkZSMR0wGwYDVQQIExRMYW5ndWVkb2MtUm91c3NpbGxvbjESMBAG
A1UEBxMJQmVhdWNhaXJlMQ0wCwYDVQQKEwRIb21lMQ4wDAYDVQQLEwVBZG1pbjEP
MA0GA1UEAxMGZGlkaWVyMR0wGwYJKoZIhvcNAQkBFg5yb290QGxvY2FsaG9zdIIJ
AIZsMlMNlWrIMA0GCSqGSIb3DQEBBAUAA4IBAQCWeAcoPjvnPmVo07mNasZOxsKh
uKjtjgOQin4A5hUz/4Eu7PwNvkYBPGO+luJeCiMal7xCfI92W9ywADetdpEkERMf
V1Wvifw+rWgJT69Ri6NJt7UublpQwDOeTdXtlGB4Dz+BrXxqCbD6D1pddFXIOBzT
hVmdUoiVf+Gy1bVQsxMl6D408u8BiL3UIbHkeTp9x0sa++kXpwc77Px1qot3IzyI
V1GLwrpoSM8kyD165WzF+F+ggcpFI23t2E6IRnCqEw3UcKw5sui/IQlBBTcF8CVL
xNwwBIM3CiQ8nl4RJxvc5OHfjZ17pyt7YMkdiMSyRpHzKf3L5xotW4xuOvX6
-----END CERTIFICATE-----
Response Verify Failure
Response Verify Failure
140087218780000:error:27069076:OCSP routines:OCSP_basic_verify:signer certificate not found:ocsp_vfy.c:85:
140234799404896:error:2706A067:OCSP routines:OCSP_CHECK_DELEGATED:missing ocspsigning usage:ocsp_vfy.c:350:
140234799404896:error:27069070:OCSP routines:OCSP_basic_verify:root ca not trusted:ocsp_vfy.c:148:
/etc/pki/httpd/certs/didier.crt: good
/etc/pki/httpd/certs/didier.crt: good
         This Update: Jan  4 13:05:05 2013 GMT
         This Update: Jan  4 13:05:05 2013 GMT
         Next Update: Jan  5 11:19:18 2013 GMT
         Next Update: Jan  5 12:04:31 2013 GMT
</pre>
</pre>



Version du 5 janvier 2013 à 11:59

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 Modèle:Lang).

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.

Linker les fichiers nécessaires au daemon :

  • Le certificat et la clé associée pour le daemon OCSP
  • Le certificat Racine
  • La liste CRL
ln /etc/pki/httpd/certs/ocspd.crt /etc/ocspd/certs/
ln /etc/pki/httpd/certs/ocspd.key /etc/ocspd/private/
ln /etc/pki/httpd/httpd_ca.crt /etc/ocspd/certs/
ln /etc/pki/httpd/crl/crl.pem /etc/ocspd/crls/

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 = $dir/certs/ocspd.crt        # The OCSP server cert
ocspd_key         = $dir/private/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/ocspd/crls/crl.pem
ca_url  = file:///etc/ocspd/certs/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

Ne reste qu’a lancer le démon et vérifier le fichier <path>/var/log/messages</path> :

# ocspd -c /etc/ocspd/ocspd.conf -v &
Jan  5 12:09:07 localhost ocspd[6102]: OpenCA OCSPD v1.5.1 - starting.
Jan  5 12:09:07 localhost ocspd[6102]: Initialising HSM [(null)]
Jan  5 12:09:07 localhost ocspd[6102]: Engine Initialisation Complete ["(null)"]
Jan  5 12:09:07 localhost ocspd[6102]: reading certificate file (/etc/ocspd/certs/ocspd.crt).
Jan  5 12:09:07 localhost ocspd[6102]: Reading Private Key file /etc/ocspd/private/ocspd.key
Jan  5 12:09:07 localhost ocspd[6102]: variable lookup failed for OCSPD_default::max_client_num
Jan  5 12:09:07 localhost ocspd[6102]: variable lookup failed for OCSPD_default::chroot_dir
Jan  5 12:09:07 localhost ocspd[6102]: Auto CRL reload every 3600 secs
Jan  5 12:09:07 localhost ocspd[6102]: variable lookup failed for OCSPD_default::crl_reload_expired
Jan  5 12:09:07 localhost ocspd[6102]: Number of CAs in configuration is 1
Jan  5 12:09:07 localhost ocspd[6102]: INFO::FORMAT::CA Cert [/etc/ocspd/certs/httpd_ca.crt] is PEM formatted
Jan  5 12:09:07 localhost ocspd[6102]: CA CERT for first_ca loaded successfully.
Jan  5 12:09:07 localhost ocspd[6102]: CA List Entry added (CA list num 0)
Jan  5 12:09:07 localhost ocspd[6102]: INFO::CRL RELOAD::File Protocol
Jan  5 12:09:07 localhost ocspd[6102]: INFO::FILE::CRL is in PEM format
Jan  5 12:09:07 localhost ocspd[6102]: CRL loaded [ first_ca ]
Jan  5 12:09:07 localhost ocspd[6102]: CRL and CA cert [0:1] check ok
Jan  5 12:09:07 localhost ocspd[6102]: CRL matching CA cert ok [ 1 ]
Jan  5 12:09:07 localhost ocspd[6102]: INFO::CRL::Verify 1 [OK=1]
Jan  5 12:09:07 localhost ocspd[6102]: INFO::CRL is Valid
Jan  5 12:09:07 localhost ocspd[6102]: INFO::CRL::1 Entries [ first_ca ]
Jan  5 12:09:07 localhost ocspd[6102]: CRL loaded successfully [first_ca]
Jan  5 12:09:07 localhost ocspd[6102]: variable lookup failed for ocsp_response::ocsp_add_response_certs
Jan  5 12:09:07 localhost ocspd[6102]: CRL validity check every 600 sec.
Jan  5 12:09:07 localhost ocspd[6102]: Configuration loaded and parsed
Jan  5 12:09:07 localhost ocspd[6102]: INFO::Local Address 0.0.0.0 [2560]

Et maintenant, interrogeons 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: 2D6AD4B9B43AA3B22E430412F5B1503A9D4AA225
          Issuer Key Hash: 06FECE107E9543650B60FF2D8E120D4096FC94A2
          Serial Number: 03
    Request Extensions:
        OCSP Nonce: 
            0410C0BDCFE56D28535AD716BC7B76271627
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 = User, CN = ocspd, emailAddress = root@localhost
    Produced At: Jan  5 11:59:31 2013 GMT
    Responses:
    Certificate ID:
      Hash Algorithm: sha1
      Issuer Name Hash: 2D6AD4B9B43AA3B22E430412F5B1503A9D4AA225
      Issuer Key Hash: 06FECE107E9543650B60FF2D8E120D4096FC94A2
      Serial Number: 03
    Cert Status: good
    This Update: Jan  4 13:05:05 2013 GMT
    Next Update: Jan  5 12:04:31 2013 GMT

    Response Extensions:
        OCSP Nonce: 
            0410C0BDCFE56D28535AD716BC7B76271627
    Signature Algorithm: sha1WithRSAEncryption
        69:ba:66:35:07:1d:21:36:90:8a:a2:05:85:a8:88:bb:66:f2:
        5f:76:50:41:8b:cd:d8:0a:05:80:4c:64:db:02:77:6d:b9:71:
        47:e4:80:53:23:9a:a5:9c:3b:de:8f:4f:b3:70:52:69:86:b4:
        dc:78:63:fb:63:d3:78:b2:ae:46:4f:f8:76:76:4f:05:36:a7:
        b4:ab:00:45:0d:c5:ad:47:03:3a:14:0e:ba:29:41:17:a5:c0:
        49:15:81:29:85:21:6e:06:c5:27:fe:d5:8e:46:51:6a:f6:b1:
        d3:d9:7e:f7:5b:1e:11:59:f8:e7:f2:2b:d3:a6:b9:e9:11:5d:
        8e:ac:3c:36:60:9f:24:4f:b0:11:29:33:8d:57:b2:99:c5:a3:
        c0:ec:ef:f3:41:f7:15:be:83:b4:dc:15:2b:8d:6b:84:f6:65:
        3f:cf:90:a6:26:df:b7:0b:09:3b:ca:6c:98:3c:7f:48:8d:46:
        93:31:05:05:a9:95:21:3b:c2:64:50:a8:4d:95:db:4e:81:de:
        7f:dc:67:cb:df:4d:ae:f3:ba:ed:01:b7:4c:16:3e:b7:f1:fa:
        a8:4a:03:8f:d5:4c:46:10:c1:89:18:7c:80:9a:d1:ef:bd:6c:
        46:8e:f0:3b:19:3d:8a:7e:7d:87:20:5f:db:8b:3c:b3:b8:42:
        ba:3f:ef:8f
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 4 (0x4)
        Signature Algorithm: md5WithRSAEncryption
        Issuer: C=FR, ST=Languedoc-Roussillon, L=Beaucaire, O=Home, OU=Admin, CN=didier/emailAddress=root@localhost
        Validity
            Not Before: Jan  5 10:27:05 2013 GMT
            Not After : Jan  5 10:27:05 2014 GMT
        Subject: C=FR, ST=Languedoc-Roussillon, O=Home, OU=User, CN=ocspd/emailAddress=root@localhost
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:eb:07:b2:7e:85:bb:36:03:71:8c:7f:8a:f8:eb:
                    f4:1d:19:c8:43:e0:ac:25:1b:62:37:ce:fb:ee:1f:
                    d4:2a:15:eb:fe:f2:b7:55:93:26:2e:b1:5f:27:7c:
                    67:84:c2:ff:87:eb:ea:14:7c:63:f0:6f:a2:57:88:
                    95:5d:44:e1:ba:79:0f:c3:fe:55:71:20:c4:36:c6:
                    27:a0:0a:3e:70:fc:da:93:0b:eb:a1:1b:6f:0e:9f:
                    0e:1c:27:c9:f4:72:d3:87:0e:5e:bf:7d:0f:1f:54:
                    b3:2f:81:17:96:db:ff:00:27:dd:1e:30:de:f2:2c:
                    f1:3a:d6:05:6c:6f:81:d0:bd:e5:c3:51:23:8e:a5:
                    15:11:04:53:e7:27:39:2d:a0:83:cd:ac:02:f6:d0:
                    34:af:22:87:f4:92:4c:76:06:be:6c:13:22:17:b8:
                    2e:0d:c4:9c:09:7d:0b:e6:20:2a:05:60:99:62:e5:
                    15:8e:2a:f2:af:84:39:d4:10:76:59:35:1b:ad:1a:
                    55:f5:69:a9:e5:33:19:e5:b2:bb:90:d1:13:0d:f4:
                    23:a8:0f:08:15:2a:12:a7:ea:37:86:47:1d:5f:cc:
                    b5:03:45:c9:8c:39:85:d2:32:8b:ee:02:09:9e:8d:
                    c0:1d:2d:25:f5:9b:c0:41:b2:2e:5b:0d:bd:d2:dd:
                    4d:79
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:FALSE
            Netscape Comment: 
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier: 
                B3:DD:FC:53:ED:84:9F:44:C0:FA:78:49:23:CB:99:8D:1A:03:FC:BE
            X509v3 Authority Key Identifier: 
                keyid:06:FE:CE:10:7E:95:43:65:0B:60:FF:2D:8E:12:0D:40:96:FC:94:A2
                DirName:/C=FR/ST=Languedoc-Roussillon/L=Beaucaire/O=Home/OU=Admin/CN=didier/emailAddress=root@localhost
                serial:86:6C:32:53:0D:95:6A:C8

    Signature Algorithm: md5WithRSAEncryption
        96:78:07:28:3e:3b:e7:3e:65:68:d3:b9:8d:6a:c6:4e:c6:c2:
        a1:b8:a8:ed:8e:03:90:8a:7e:00:e6:15:33:ff:81:2e:ec:fc:
        0d:be:46:01:3c:63:be:96:e2:5e:0a:23:1a:97:bc:42:7c:8f:
        76:5b:dc:b0:00:37:ad:76:91:24:11:13:1f:57:55:af:89:fc:
        3e:ad:68:09:4f:af:51:8b:a3:49:b7:b5:2e:6e:5a:50:c0:33:
        9e:4d:d5:ed:94:60:78:0f:3f:81:ad:7c:6a:09:b0:fa:0f:5a:
        5d:74:55:c8:38:1c:d3:85:59:9d:52:88:95:7f:e1:b2:d5:b5:
        50:b3:13:25:e8:3e:34:f2:ef:01:88:bd:d4:21:b1:e4:79:3a:
        7d:c7:4b:1a:fb:e9:17:a7:07:3b:ec:fc:75:aa:8b:77:23:3c:
        88:57:51:8b:c2:ba:68:48:cf:24:c8:3d:7a:e5:6c:c5:f8:5f:
        a0:81:ca:45:23:6d:ed:d8:4e:88:46:70:aa:13:0d:d4:70:ac:
        39:b2:e8:bf:21:09:41:05:37:05:f0:25:4b:c4:dc:30:04:83:
        37:0a:24:3c:9e:5e:11:27:1b:dc:e4:e1:df:8d:9d:7b:a7:2b:
        7b:60:c9:1d:88:c4:b2:46:91:f3:29:fd:cb:e7:1a:2d:5b:8c:
        6e:3a:f5:fa
-----BEGIN CERTIFICATE-----
MIIEqTCCA5GgAwIBAgIBBDANBgkqhkiG9w0BAQQFADCBjzELMAkGA1UEBhMCRlIx
HTAbBgNVBAgTFExhbmd1ZWRvYy1Sb3Vzc2lsbG9uMRIwEAYDVQQHEwlCZWF1Y2Fp
cmUxDTALBgNVBAoTBEhvbWUxDjAMBgNVBAsTBUFkbWluMQ8wDQYDVQQDEwZkaWRp
ZXIxHTAbBgkqhkiG9w0BCQEWDnJvb3RAbG9jYWxob3N0MB4XDTEzMDEwNTEwMjcw
NVoXDTE0MDEwNTEwMjcwNVoweTELMAkGA1UEBhMCRlIxHTAbBgNVBAgTFExhbmd1
ZWRvYy1Sb3Vzc2lsbG9uMQ0wCwYDVQQKEwRIb21lMQ0wCwYDVQQLEwRVc2VyMQ4w
DAYDVQQDEwVvY3NwZDEdMBsGCSqGSIb3DQEJARYOcm9vdEBsb2NhbGhvc3QwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDrB7J+hbs2A3GMf4r46/QdGchD
4KwlG2I3zvvuH9QqFev+8rdVkyYusV8nfGeEwv+H6+oUfGPwb6JXiJVdROG6eQ/D
/lVxIMQ2xiegCj5w/NqTC+uhG28Onw4cJ8n0ctOHDl6/fQ8fVLMvgReW2/8AJ90e
MN7yLPE61gVsb4HQveXDUSOOpRURBFPnJzktoIPNrAL20DSvIof0kkx2Br5sEyIX
uC4NxJwJfQvmICoFYJli5RWOKvKvhDnUEHZZNRutGlX1aanlMxnlsruQ0RMN9COo
DwgVKhKn6jeGRx1fzLUDRcmMOYXSMovuAgmejcAdLSX1m8BBsi5bDb3S3U15AgMB
AAGjggEjMIIBHzAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdl
bmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUs938U+2En0TA+nhJI8uZjRoD
/L4wgcQGA1UdIwSBvDCBuYAUBv7OEH6VQ2ULYP8tjhINQJb8lKKhgZWkgZIwgY8x
CzAJBgNVBAYTAkZSMR0wGwYDVQQIExRMYW5ndWVkb2MtUm91c3NpbGxvbjESMBAG
A1UEBxMJQmVhdWNhaXJlMQ0wCwYDVQQKEwRIb21lMQ4wDAYDVQQLEwVBZG1pbjEP
MA0GA1UEAxMGZGlkaWVyMR0wGwYJKoZIhvcNAQkBFg5yb290QGxvY2FsaG9zdIIJ
AIZsMlMNlWrIMA0GCSqGSIb3DQEBBAUAA4IBAQCWeAcoPjvnPmVo07mNasZOxsKh
uKjtjgOQin4A5hUz/4Eu7PwNvkYBPGO+luJeCiMal7xCfI92W9ywADetdpEkERMf
V1Wvifw+rWgJT69Ri6NJt7UublpQwDOeTdXtlGB4Dz+BrXxqCbD6D1pddFXIOBzT
hVmdUoiVf+Gy1bVQsxMl6D408u8BiL3UIbHkeTp9x0sa++kXpwc77Px1qot3IzyI
V1GLwrpoSM8kyD165WzF+F+ggcpFI23t2E6IRnCqEw3UcKw5sui/IQlBBTcF8CVL
xNwwBIM3CiQ8nl4RJxvc5OHfjZ17pyt7YMkdiMSyRpHzKf3L5xotW4xuOvX6
-----END CERTIFICATE-----
Response Verify Failure
140234799404896:error:2706A067:OCSP routines:OCSP_CHECK_DELEGATED:missing ocspsigning usage:ocsp_vfy.c:350:
140234799404896:error:27069070:OCSP routines:OCSP_basic_verify:root ca not trusted:ocsp_vfy.c:148:
/etc/pki/httpd/certs/didier.crt: good
        This Update: Jan  4 13:05:05 2013 GMT
        Next Update: Jan  5 12:04:31 2013 GMT
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
OCSP Request Data:
    Version: 1 (0x0)
    Requestor List:
        Certificate ID:
          Hash Algorithm: sha1
          Issuer Name Hash: 4A694097441CA470D697E82AF367D1F196B59680
          Issuer Key Hash: 6490C296FF639D9B75A899E2DB29DC7DA42EE38D
          Serial Number: 13
    Request Extensions:
        OCSP Nonce:
            0410DDDA8DFEF460BA0C13ACCEBE7CDFDCB9
OCSP Response Data:
    OCSP Response Status: successful (0x0)
    Response Type: Basic OCSP Response
    Version: 1 (0x0)
    Responder Id: C = FR, ST = Bretagne, O = Guiguiabloc, OU = Guiguiabloc, CN = ocsp.guiguiabloc.fr, emailAddress = pki@guiguiabloc.fr
    Produced At: Jan  5 14:21:40 2009 GMT
    Responses:
    Certificate ID:
      Hash Algorithm: sha1
      Issuer Name Hash: 4A694097441CA470D697E82AF367D1F196B59680
      Issuer Key Hash: 6490C296FF639D9B75A899E2DB29DC7DA42EE38D
      Serial Number: 13
    Cert Status: good
    This Update: Jan  5 14:16:51 2009 GMT
    Next Update: Jan  5 14:26:40 2009 GMT
 
    Response Extensions:
        OCSP Nonce:
            0410DDDA8DFEF460BA0C13ACCEBE7CDFDCB9
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 16 (0x10)
        Signature Algorithm: md5WithRSAEncryption
        Issuer: C=FR, ST=Bretagne, L=Brest, O=Guiguiabloc, OU=Guiguiabloc, CN=Guiguiabloc CA Authority/emailAddress=pki@guiguiabloc.fr
        Validity
            Not Before: Jul 18 08:08:25 2008 GMT
            Not After : Jul 17 08:08:25 2013 GMT
        Subject: C=FR, ST=Bretagne, O=Guiguiabloc, OU=Guiguiabloc, CN=ocsp.guiguiabloc.fr/emailAddress=pki@guiguiabloc.fr
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
            RSA Public Key: (1024 bit)
                Modulus (1024 bit):
                    00:bb:c8:c3:c0:78:26:88:8c:45:6c:2a:1b:88:fd:
                    71:57:c0:bb:23:e1:1e:40:86:d2:94:af:fc:e7:74:
                    41:3d:41:39:ac:a6:51:dc:4d:e8:80:53:a3:73:5d:
                    74:0e:1f:04:b1:78:dc:ad:45:65:5b:4f:0e:b2:92:
                    3c:bc:64:bb:3e:70:2c:ca:b8:ea:dc:fc:33:31:01:
                    d2:05:b2:e2:60:0c:d2:a6:c1:e9:83:b0:ca:d9:42:
                    98:44:8b:c3:df:63:dc:17:02:51:b6:f2:da:0e:c6:
                    81:fa:78:1c:d2:ca:56:52:f3
                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:
 
            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 Authority Key Identifier:
                keyid:64:90:C2:96:FF:63:9D:9B:75:A8:99:E2:DB:29:DC:7D:A4:2E:E3:8D
                DirName:/C=FR/ST=Bretagne/L=Brest/O=GuiGuiabloc/OU=Guiguiabloc/CN=Guiguiabloc CA Authority/emailAddress=pki@guiguiabloc.fr
                serial:B9:0E:D5:3E:0F:DA:79:FF
 
            Authority Information Access:
                OCSP - URI:http://ocsp.guiguiabloc.fr/
 
    Signature Algorithm: md5WithRSAEncryption
        0c:3a:3f:79:7e:e4:21:be:1b:d1:d4:ef:8f:1d:33:af:f2:88:
        eb:0f:40:cb:24:50:9b:47:cc:61:e2:a9:a3:6e:c5:4f:2a:7c:
        b5:03:f1:a1:b8:b7:23:c7:e1:00:61:3a:c0:7c:8f:c6:2f:c7:
        6a:c9:98:ad:af:ff:28:db:c6:1f:17:d3:54:f3:d7:1a:96:51:
        19:04:6c:f8:92:74:70:de:54:c1:55:d3:9d:27:99:8b:09:be:
        98:27:e6:5b:1e:14:a2:a9:d2:cb:a2:d7:52:8a:e1:ac:9b:a7:
        52:a2:5b:90:dc:cc:8f:33:4b:7a:99:60:4d:5e:b9:e6:71:ed:
        be:92
-----BEGIN CERTIFICATE-----
MIID/DCCA2WgAwIBAgIBEDANBgkqhkiG9w0BAQQFADCBnDELMAkGA1UEBhMCRlIx
ETAPBgNVBAgTCEJyZXRhZ25lMQ4wDAYDVQQHEwVCcmVzdDEVMBMGA1UEChMMU3R5
eCBOZXR3b3JrMRAwDgYDVQQLEwdTdHl4bmV0MSIwIAYDVQQDExlTdHl4IE5ldHdv
cmsgQ0EgQXV0aG9yaXR5MR0wGwYJKoZIhvcNAQkBFg5wa2lAc3R5eG5ldC5mcjAe
Fw0wODA3MTgwODA4MjVaFw0xMzA3MTcwODA4MjVaMIGCMQswCQYDVQQGEwJGUjER
MA8GA1UECBMIQnJldGFnbmUxFTATBgNVBAoTDFN0eXggTmV0d29yazEQMA4GA1UE
CxMHU3R5eG5ldDEYMBYGA1UEAxMPb2NzcC5zdHl4bmV0LmZyMR0wGwYJKoZIhvcN
AQkBFg5wa2lAc3R5eG5ldC5mcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
psHpg7DK2UKYRIvD32PcFwJRtvLaDsaB+ngc0spWUvMCAwEAAaOCAWQwggFgMAkG
A1UdEwQCMAAwCwYDVR0PBAQDAgeAMBMGA1UdJQQMMAoGCCsGAQUFBwMJMAkGA1Ud
EgQCMAAwHQYDVR0OBBYEFBoYSnq82z7NYIcLoxFNT+bOGRcnMIHRBgNVHSMEgckw
gcaAFGSQwpb/Y52bdaiZ4tsp3H2kLuONoYGipIGfMIGcMQswCQYDVQQGEwJGUjER
MA8GA1UECBMIQnJldGFnbmUxDjAMBgNVBAcTBUJyZXN0MRUwEwYDVQQKEwxTdHl4
IE5ldHdvcmsxEDAOBgNVBAsTB1N0eXhuZXQxIjAgBgNVBAMTGVN0eXggTmV0d29y
ayBDQSBBdXRob3JpdHkxHTAbBgkqhkiG9w0BCQEWDnBraUBzdHl4bmV0LmZyggkA
uQ7VPg/aef8wMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzABhhdodHRwOi8vb2Nz
cC5zdHl4bmV0LmZyLzANBgkqhkiG9w0BAQQFAAOBgQAMOj95fuQhvhvR1O+PHTOv
8ojrD0DLJFCbR8xh4qmjbsVPKny1A/GhuLcjx+EAYTrAfI/GL8dqyZitr/8o28Yf
F9NU89callEZBGz4knRw3lTBVdOdJ5mLCb6YJ+ZbHhSiqdLLotdSiuGsm6dSoluQ
3MyPM0t6mWBNXrnmce2+kg==
-----END CERTIFICATE-----
Response verify OK
webmail.guiguiabloc.fr.crt: good

Réponse : GOOD tout va bien :-)

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

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://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/

Puis d’invoquer l’extension lors de la création du certificat avec openssl (-extensions CLIENT_OCSP (par exemple).

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