I. Описание на услугата.
B-Trust® предлага на своите клиенти възможност за проверка
на статуса на сертификати в реално време. Услугата OCSP (Online Certificate Status Protocol)
позволява на конкретни приложения, които работят със сертификати, да определят статуса на даден електронен сертификат.
Без тази услуга, клиентите използващи сертификати, издадени от B-Trust®, са зависими от т.нар. списък на
прекратените сертификати (CRL), за да определят статуса на даден сертификат. При това проверката
на този списък не осигурява потвърждаване на статуса в реално време, тъй като списъкът се публикува на страницата
на B-Trust® през 2 часа. Това означава, че винаги има съмнение за статуса на проверявания
сертификат свързано с датата/часа на издаване на последния CRL. Тази несигурност е неуместна за голям брой бизнес
приложения. Също така доставката и проверката на даден CRL може да е проблемна, ако той съдържа много анулирани
сертификати. OCSP-услугата решава тези проблеми като осигурява информация за текущия статус директно от доставчика.
II. Технология.
Проверката на статуса се осъществява чрез използване на OCSP-клиент
(OCSP Requestor) и OCSP-сървър (OCSP Responder). OCSP клиентът се обръща към OCSP-сървъра, който дава окончателен
отговор за статуса на сертификата. Този отговор е електронно подписан със сертификата на OCSP сървъра и съдържа
както информация за проверявания сертификат, така и времето на обработка, което служи като доказателство за валидност.
Повече информация за OCSP протокола може да получите на адрес: http://www.ietf.org/rfc/rfc2560.txt
III. Начин на работа.
Услугата за получаване на on-line информация за статуса на сертификат,
подписана от OCSP-сървъра на B-Trust®, може да бъде използвана по един от изброените начини:
- чрез графичен интерфейс на B-Trust®-клиент (програма Combo.exe):
( OCSP клиент ще се появи в B-Trust® Combo в следващата му версия, съвсем скоро).
- чрез програмен интерфейс (команден ред), ползващ OpenSSL 0.9.7b:
За целта е необходимо:
- да инсталирате OpenSSL 0.9.7b.
- също така трябва да разполагате и със следните сертификати, задължително в PEM формат( BASE-64 кодиран ): User Certificate
(сертификатът, чийто статус ще проверявате, който можете да свалите от тук ако го нямате локално),
Issuer Certificate (сертификатът на Удостоверителния орган B-Trust®) и
OcspResponderCertificate (сертификатът на OCSP-сървъра).
- да изпратите запитване за статуса на даден сертификат(User Certificate) с OpenSSL, като използвате следното описание:
Чрез командният интерфейс на WINDOWS (т.нар. команден ред - Command.com или cmd.exe) се позиционирате в bin директорията на OpenSSL (най-често C:\openssl\bin). След това въвеждате следната команда:
openssl.exe ocsp -issuer <IssuerCertificate> -cert <UserCertificate> -no_nonce -url http://ocsp.b-trust.org:25 -VAfile <OcspResponderCertificate>
като замествате съответно <IssuerCertificate> с абсолютният път към сертификата на Удостоверителния орган B-Trust® (C:\BSOperCA.cer) , <UserCertificate> с абсолютният път към сертификата на потребителя,
които искате да проверите и <OcspResponderCertificate>с абсолютният път към сертификата на OCSP-сървъра.
Също така можете да използвате и подписана заявка със следната команда(предназначено за сървърни приложения, които имат т.нар. файл-ключ - PKCS#12):
openssl.exe ocsp -issuer <IssuerCertificate> -cert <UserCertificate> -no_nonce -url http://ocsp.b-trust.org:25 -signkey <SignerPrivKey.key> -signer <SignerCertificatePEM> -VAfile <OcspResponderCertificate>
като заместването е аналогично, а <SignerPrivKey.key> е файла с частния ключ от
файла-ключ и <SignerCertificatePEM> е сертификата от него.
Възможните отговори на дадено запитване за статуса на сертификат са:
1. При правилно структурирано запитване за статуса и без грешки в хода на програмата :
• good – ако сертфиката го има в LDAP и го няма в CRL-a, като отговора изглежда по следния начин:
Response verify OK
<file name (име на проверявания сертификат с пътя до него)>: good
This Update: Mar 2 10:05:03 2004
Next Update: Apr 2 11:05:03 2004
като последните два реда се отнасят за това кога е издаден и до кога е валиден CRL-a, тоест време на валидност на отговора.
• unknown – ако сертификата го няма в LDAP, като отговора изглежда по следния начин:
Response verify OK
<
file name (име на проверявания сертификат с пътя до него)>: unknown
This Update: Mar 2 12:05:05 2004
Next Update: Apr 2 13:05:05 2004
• revoked - ако сертфиката го има в LDAP и го има в CRL-a,като отговора изглежда по следния начин:
Response verify OK
<file name (име на проверявания сертификат с пътя до него)>: revoked
This Update: Mar 2 12:05:05 2004
Next Update: Apr 2 13:05:05 2004
Reason: cessationOfOperation – причина за анулиране на сертификата.
Revocation Time: Jul 8 13:23:07 2003 – време на анулиране на сертификата.
2. При неправилно структурирано запитване за статуса или грешки в хода на програмата :
• Responder Error: malformedrequest (1) – за запитването за статуса е използван невалиден хеш алгоритъм(различен от SHA-1) или издателя на сертификата не е B-Trust® или запитването за статуса e празен или не е правилно структуриран (не е с необходимите Header-и).
• Responder Error: internalerror (2) – изключения, възникнали в хода на програмата от страна на OCSP Сървъра или грешка при подписването на отговора.
• Responder Error: trylater (3) – няма връзка с LDAP-a.
• Responder Error: sigrequired (5) – запитването за статуса не е подписано.
• Responder Error: unauthorized (6) - запитването за статуса не съдържа сертификати, не може да се верифицира подписа му, не съдържа tagno на X509DirectotyName, не
съвпадат клиентския сертификат и X509 името му, сертификата на клиента, с който е подписано запитването за статуса e изтекъл или още не е валиден.
3. Индиректно през WWW страницата на B-Trust® от тук .