- •2008 Зміст
- •Загальні положення
- •Терміни та визначення
- •Протокол взаємодії та процедури
- •Формування позначки часу
- •Перевірка позначки часу
- •Формати даних
- •Формат запиту на формування позначки часу
- •Формат відповіді на запит на формування позначки часу
- •Транспортні протоколи
- •Транспортний протокол, що базується на мережевих сокетах
- •Транспортний протокол, що базується на портоколі http
- •Додаток 1. Формати даних у нотації asn.1
Транспортні протоколи
Транспортний протокол, що базується на мережевих сокетах
Передача запитів но формування позначок часу та отримання відповідей відбувається зі встановленням TCP-з’єднання. Всі повідомлення мають такий формат:
Назва блоку |
Розмір (байт) |
Примітки |
Розмір основного блоку (запиту чи відповіді) |
4 |
У форматі Little-Endinan |
Основний блок |
змінний |
DER-кодування блоку (запиту чи відповіді) |
Транспортний протокол, що базується на портоколі http
Передача запиту на формування позначки часу відбувається за допомогою метода POSTпротоколаHTTP, отримання відповіді у форматі HTTP-відповіді. Всі блоки передаються, як байти їх DER-кодування.
Додаток 1. Формати даних у нотації asn.1
ua-PKI-TSP-policy ::= OBJECT IDENTIFIER { root(1.2.804.2.1.1.1) pki-alg(1) pki-cp (2) tsp-policy(3) }
id-ct-TSTInfo OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1) 4}
TimeStampReq ::= SEQUENCE { version INTEGER { v1(1) }, messageImprint MessageImprint, reqPolicy TSAPolicyId OPTIONAL, nonce INTEGER OPTIONAL, extensions [0] IMPLICIT Extensions OPTIONAL }
MessageImprint ::= SEQUENCE { hashAlgorithm AlgorithmIdentifier, hashedMessage OCTET STRING }
TSAPolicyId ::= OBJECT IDENTIFIER
TimeStampResp ::= SEQUENCE { status PKIStatusInfo, timeStampToken TimeStampToken OPTIONAL }
PKIStatusInfo ::= SEQUENCE { status PKIStatus, failInfo PKIFailureInfo OPTIONAL }
PKIStatus ::= INTEGER { granted (0), grantedWithMods (1), rejection (2), waiting (3), revocationWarning (4), revocationNotification (5) }
PKIFailureInfo ::= BIT STRING { badAlg (0), badRequest (2), badDataFormat (5), timeNotAvailable (14), unacceptedPolicy (15), unacceptedExtension (16), addInfoNotAvailable (17), systemFailure (25) }
TimeStampToken ::= ContentInfo
TSTInfo ::= SEQUENCE { version INTEGER { v1(1) }, policy TSAPolicyId, messageImprint MessageImprint, serialNumber INTEGER, genTime GeneralizedTime, nonce INTEGER OPTIONAL, extensions [1] IMPLICIT Extensions OPTIONAL }