Класс Certificate
Публичные функции
Certificate () | |
Certificate (const Certificate &from) | |
Certificate (const CertificateOptions &opts, const PrivateKey &key, const QString &provider=QString()) | |
Certificate (const QString &fileName) | |
void | change (CertContext *c) |
QString | commonName () const |
Constraints | constraints () const |
QStringList | crlLocations () const |
bool | isCA () const |
bool | isIssuerOf (const Certificate &other) const |
bool | isNull () const |
bool | isSelfSigned () const |
CertificateInfo | issuerInfo () const |
CertificateInfoOrdered | issuerInfoOrdered () const |
QByteArray | issuerKeyId () const |
QStringList | issuerLocations () const |
bool | matchesHostName (const QString &host) const |
QDateTime | notValidAfter () const |
QDateTime | notValidBefore () const |
QStringList | ocspLocations () const |
bool | operator!= (const Certificate &other) const |
Certificate & | operator= (const Certificate &from) |
bool | operator== (const Certificate &a) const |
int | pathLimit () const |
QStringList | policies () const |
BigInteger | serialNumber () const |
SignatureAlgorithm | signatureAlgorithm () const |
CertificateInfo | subjectInfo () const |
CertificateInfoOrdered | subjectInfoOrdered () const |
QByteArray | subjectKeyId () const |
PublicKey | subjectPublicKey () const |
QByteArray | toDER () const |
QString | toPEM () const |
bool | toPEMFile (const QString &fileName) const |
Validity | validate (const CertificateCollection &trusted, const CertificateCollection &untrusted, UsageMode u=UsageAny, ValidateFlags vf=ValidateAll) const |
Публичные функции, унаследованные от QCA::Algorithm
Algorithm (const Algorithm &from) | |
void | change (const QString &type, const QString &provider) |
void | change (Provider::Context *c) |
Provider::Context * | context () |
const Provider::Context * | context () const |
Algorithm & | operator= (const Algorithm &from) |
Provider * | provider () const |
Provider::Context * | takeContext () |
QString | type () const |
Статические публичные функции
static Certificate | fromDER (const QByteArray &a, ConvertResult *result=nullptr, const QString &provider=QString()) |
static Certificate | fromPEM (const QString &s, ConvertResult *result=nullptr, const QString &provider=QString()) |
static Certificate | fromPEMFile (const QString &fileName, ConvertResult *result=nullptr, const QString &provider=QString()) |
Дружественные функции и классы
class | CertificateChain |
class | Private |
Дополнительные унаследованные члены
Защищённые функции, унаследованные от QCA::Algorithm
Algorithm () |
Algorithm (const QString &type, const QString &provider) |
Подробное описание
Сертификат открытого ключа (X.509).
Этот класс содержит один сертификат X.509.
Примеры
certtest.cpp, publickeyexample.cpp, sslservtest.cpp и ssltest.cpp.
Описание конструкторов и деструктора
Certificate() [1/4]
QCA::Certificate::Certificate () |
Создаёт пустой Certificate
.
Certificate() [2/4]
QCA::Certificate::Certificate (const QString & fileName) |
Создаёт Certificate
из файла,
закодированного в формате PEM
.
Параметры
fileName | Имя (и путь, если требуется) файла, который содержит сертификат в формате PEM |
Certificate() [3/4]
QCA::Certificate::Certificate (const CertificateOptions & opts, const PrivateKey & key, const QString & provider = QString() ) |
Создаёт Certificate
с указанными
параметрами и указанным закрытым ключом.
Параметры
opts | Параметры использования |
key | Закрытый ключ для этого сертификата |
provider | Криптопровайдер, который будет использоваться для создания ключа, если требуется конкретный криптопровайдер |
Certificate() [4/4]
QCA::Certificate::Certificate (const Certificate & from) |
Стандартный конструктор копирования.
Параметры
from | сертификат для копирования |
Описание методов
operator=()
Certificate& QCA::Certificate::operator= (const Certificate & from) |
Стандартный оператор присваивания.
Параметры
from | объект Certificate для присваивания |
isNull()
bool QCA::Certificate::isNull () const |
Проверяет, является ли сертификат пустым (null
).
Возвращает true
, если сертификат пустой.
Примеры
notValidBefore()
QDateTime QCA::Certificate::notValidBefore () const |
Самая ранняя дата, когда сертификат действителен.
Примеры
notValidAfter()
QDateTime QCA::Certificate::notValidAfter () const |
Последняя дата, когда сертификат действителен.
Примеры
subjectInfo()
CertificateInfo QCA::Certificate::subjectInfo () const |
Свойства субъекта сертификата в виде QMultiMap
.
Это метод предоставляет информацию об организации субъекта, общем имени, имени DNS и т. д. Список
типов информации (т. е. ключ к мульти-карте) в виде класса
CertificateInfoType. Значения представляют
собой список QString
.
Пример того, как можно перебирать список:
foreach( QString dns, info.values(QCA::DNS) )
{
std::cout << " " << qPrintable(dns) << std::endl;
}
Примеры
subjectInfoOrdered()
CertificateInfoOrdered QCA::Certificate::subjectInfoOrdered () const |
Свойства субъекта сертификата в виде упорядоченного списка (QList
из
CertificateInfoPair).
Метод позволяет получить доступ к информации сертификата в том же порядке, в каком они отображаются в сертификате. Каждая пара в списке имеет тип и значение.
Например:
CertificateInfoOrdered info = cert.subjectInfoOrdered();
// info[0].type == CommonName
// info[0].value == "example.com"
См. также subjectInfo для неупорядоченной версии.
issuerInfoOrdered для упорядоченной информации о субъекте.
CertificateInfoPair для элементов в списке.
issuerInfo()
CertificateInfo QCA::Certificate::issuerInfo () const |
Свойства издателя сертификата.
См. также subjectInfo о том, как работает возвращаемое значение.
Примеры
issuerInfoOrdered()
CertificateInfoOrdered QCA::Certificate::issuerInfoOrdered () const |
Свойства издателя сертификата в виде упорядоченного списка (QList
из
CertificateInfoPair).
Метод позволяет получить доступ к информации сертификата в том же порядке, в каком они отображаются в сертификате. Каждая пара в списке имеет тип и значение.
См. также issuerInfo для неупорядоченной версии.
subjectInfoOrdered для упорядоченной информации о субъекте.
CertificateInfoPair для элементов в списке.
constraints()
Constraints QCA::Certificate::constraints () const |
Ограничения, применяемые к этому сертификату.
policies()
QStringList QCA::Certificate::policies () const |
Политики, применяемые к этому сертификату.
Политики указываются в виде строк, содержащих OID.
crlLocations()
QStringList QCA::Certificate::crlLocations () const |
Перечисляет пути расположения для файлов CRL.
Каждый URI относится к одному и тому же файлу CRL.
issuerLocations()
QStringList QCA::Certificate::issuerLocations () const |
Перечисляет пути расположения для файлов сертификатов издателя. Список путей расположения для файлов сертификатов издателя.
Каждый URI относится к одному и тому же файлу издателя.
ocspLocations()
QStringList QCA::Certificate::ocspLocations () const |
Перечисляет пути расположений для служб OCSP.
commonName()
QString QCA::Certificate::commonName () const |
Общее название субъекта сертификата.
Общие имена — это обычно имя человека, компании или организации.
Примеры
serialNumber()
BigInteger QCA::Certificate::serialNumber () const |
Серийный номер сертификата.
Примеры
subjectPublicKey()
PublicKey QCA::Certificate::subjectPublicKey () const |
Открытый ключ, связанный с субъектом сертификата.
isCA()
bool QCA::Certificate::isCA () const |
Проверяет, действителен ли Certificate
как Центр Сертификации.
Возвращает true
, если Certificate
действителен как Центр Сертификации.
Примеры
isSelfSigned()
bool QCA::Certificate::isSelfSigned () const |
Проверяет, является ли Certificate
самоподписанным.
Возвращает true
, если сертификат самоподписанный.
Примеры
isIssuerOf()
bool QCA::Certificate::isIssuerOf (const Certificate & other) const |
Проверяет, подписал ли Certificate
другой объект Certificate
и,
следовательно, является ли он издателем.
Параметры
other | Сертификат для проверки |
Возвращает true
, если этот сертификат является издателем аргумента.
pathLimit()
int QCA::Certificate::pathLimit () const |
Верхняя граница количества звеньев в цепочке сертификатов, если таковые имеются.
signatureAlgorithm()
SignatureAlgorithm QCA::Certificate::signatureAlgorithm () const |
Алгоритм подписи, использованный для подписи на этом сертификате.
subjectKeyId()
QByteArray QCA::Certificate::subjectKeyId () const |
Идентификатор ключа, связанный с субъектом.
issuerKeyId()
QByteArray QCA::Certificate::issuerKeyId () const |
Идентификатор ключа, связанный с издателем.
validate()
Validity QCA::Certificate::validate (const CertificateCollection & trusted, const CertificateCollection & untrusted, UsageMode u = UsageAny, ValidateFlags vf = ValidateAll) const |
Проверяет действительность сертификата.
Параметры
trusted | Коллекция доверенных сертификатов |
untrusted | Коллекция дополнительных сертификатов, не обязательно доверенных |
u | Вариант использования, необходимый для сертификата |
vf | Условия для проверки |
Примечание.
Эта функция может быть блокирующей.
toDER()
QByteArray QCA::Certificate::toDER () const |
Экспортирует Certificate
в формат
DER
.
toPEM()
QString QCA::Certificate::toPEM () const |
Экспортирует Certificate
в формат
PEM
.
Примеры
toPEMFile()
bool QCA::Certificate::toPEMFile (const QString & fileName) const |
Экспортирует Certificate
в формате
PEM
в файл.
Параметры
fileName | Имя файла для использования |
fromDER()
static Certificate QCA::Certificate::fromDER (const QByteArray & a, ConvertResult * result = nullptr, const QString & provider = QString() ) | static |
Импортирует сертификат из DER
.
Параметры
a | Массив, содержащий сертификат в формате DER |
result | Указатель на ConvertResult . Если указатель не пустой, то он будет установлен как статус преобразования |
provider | Криптопровайдер, который будет использоваться, если требуется конкретный криптопровайдер |
Возвращает Certificate
, соответствующий
сертификату в предоставленном массиве.
fromPEM()
static Certificate QCA::Certificate::fromPEM (const QString & s, ConvertResult * result = nullptr, const QString & provider = QString() ) | static |
Импортирует сертификат из формата PEM
.
Параметры
s | Строка, содержащая сертификат в формате PEM |
result | Указатель на ConvertResult . Если указатель не пустой, то он будет установлен как статус преобразования |
provider | Криптопровайдер, который будет использоваться, если требуется конкретный криптопровайдер |
Возвращает Certificate
, соответствующий
сертификату в предоставленной строке.
Примеры
sslservtest.cpp и ssltest.cpp.
fromPEMFile()
static Certificate QCA::Certificate::fromPEMFile (const QString & fileName, ConvertResult * result = nullptr, const QString & provider = QString() ) | static |
Импортирует сертификат из файла.
Параметры
fileName | Имя (и путь, если требуется) файла, содержащего сертификат в формате PEM |
result | Указатель на ConvertResult . Если указатель не пустой, то он будет установлен как статус преобразования |
provider | Криптопровайдер, который будет использоваться, если требуется конкретный криптопровайдер |
Возвращает Certificate
, соответствующий
сертификату в предоставленной строке.
matchesHostName()
bool QCA::Certificate::matchesHostName (const QString & host) const |
Проверяет, совпадает ли субъект сертификата с указанным именем хоста.
Метод вернёт true
(указывает на совпадение), если данное имя хоста соответствует правилам
проверки RFC 2818 с этим сертификатом.
Если хост — это интернационализированное доменное имя, то оно должно быть предоставлено в формате Unicode, а не в формате IDNA ACE / Punycode.
Параметры
host | Имя хоста для сравнения |
operator==()
bool QCA::Certificate::operator== (const Certificate & a) const |
Проверяет равенство двух сертификатов.
Параметры
a | Сертификат для сравнения |
Возвращает true
, если два сертификата одинаковы.
operator!=()
bool QCA::Certificate::operator!= (const Certificate & other) const | inline |
Оператор неравенства.
Параметры
other | Сертификат для сравнения |