Класс CertificateChain
Публичные функции
CertificateChain () | |
CertificateChain (const Certificate &primary) | |
CertificateChain | complete (const QList<Certificate> &issuers=QList<Certificate>(), Validity *result=nullptr) const |
const Certificate & | primary () const |
Validity | validate (const CertificateCollection &trusted, const QList<CRL> &untrusted_crls=QList<CRL>(), UsageMode u=UsageAny, ValidateFlags vf=ValidateAll) const |
Подробное описание
Цепочка связанных сертификатов.
CertificateChain — это список (QList
)
сертификатов, которые связаны подписью друг с другом. Если
Certificate C подписывает
Certificate B и
Certificate B подписывает
Certificate A, то C, B и A образуют
цепочку.
Обычно CertificateChain используется от
Certificate конечного пользователя
(называемого первичным, что эквивалентно QList::first())
через некоторые промежуточные
сертификаты к некоторым другим Certificate
(QList::last()
), который может быть корневым центром сертификации, но не обязательно.
Построить цепочку возможно, используя стандартные операции QList
, такие как QList::append()
.
См. также QCA::CertificateCollection для альтернативного способа представления группы сертификатов, которые не обязательно связаны цепочкой.
Примеры
Описание конструкторов и деструктора
CertificateChain() [1/2]
QCA::CertificateChain::CertificateChain () | inline |
Создаёт пустую цепочку сертификатов.
На него ссылается complete().
CertificateChain() [2/2]
QCA::CertificateChain::CertificateChain (const Certificate & primary) | inline |
Создаёт цепочку сертификатов, начиная с указанного сертификата.
Параметры
primary | Сертификат конечного пользователя, который образует один конец цепочки |
Ссылается на primary().
Описание методов
primary()
const Certificate& QCA::CertificateChain::primary () const | inline |
Возвращает первичный Certificate (сертификат конечного пользователя).
Примеры
На него ссылается CertificateChain().
validate()
Validity QCA::CertificateChain::validate (const CertificateCollection & trusted, const QList<CRL> & untrusted_crls = QList<CRL>(), UsageMode u = UsageAny, ValidateFlags vf = ValidateAll) const | inline |
Проверяет действительность цепочки сертификатов.
Параметры
trusted | Коллекция доверенных сертификатов |
untrusted_crls | Список дополнительных CRL , не обязательно доверенных |
u | Вариант использования, необходимый для первичного сертификата |
vf | Условия для проверки |
Примечание.
Эта функция может быть блокирующей.
См. также Certificate::validate()
Ссылается на QCA::ErrorValidityUnknown.
complete()
CertificateChain QCA::CertificateChain::complete (const QList<Certificate> & issuers = QList<Certificate>(), Validity * result = nullptr) const | inline |
Завершает цепочку сертификатов для первичного сертификата, используя остальные сертификаты в объекте цепочки, а также сертификаты издателя, как возможных издателей в цепочке.
Если отсутствуют издатели, то цепочка может быть неполной (в худшем случае, если для первичного
сертификата не существует издателей, тогда результирующая цепочка будет состоять только из
первичного сертификата). Следует использовать аргумент result, чтобы узнать, возникла ли проблема
во время завершения. Результат ValidityGood
означает, что цепочка была успешно завершена.
Возвращается вновь созданная
CertificateChain
.
Если цепочка сертификатов пуста, тогда будет возвращен пустой объект
CertificateChain
.
Параметры
issuers | Набор издателей для привлечения по мере необходимости |
result | Результат операции завершения |
Примечание.
Эта функция может быть блокирующей.
См. также validate
Ссылается на CertificateChain().