createCSR
¶createCSR
(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE publicKey, CK_CHAR_PTR dn, CK_ULONG dnLength, CK_BYTE_PTR csr, CK_ULONG_PTR csrLength, CK_OBJECT_HANDLE privateKey, CK_CHAR_PTR attributes, CK_ULONG attributesLength, CK_CHAR_PTR extensions, CK_ULONG extensionsLength)¶Параметры: |
|
---|
Функция createCSR
формирует запрос на выпуск сертификата.
Запускается в режимах
Результат: | Функция возвращает стандартные ошибки, предусмотренные спецификацией PKCS #11. Совет Полный список ошибок см. в приложении. |
---|
createCSR
¶// дескриптор сессии
CK_SESSION_HANDLE session = 0;
// дескриптор открытого ключа
CK_OBJECT_HANDLE publicKey;
// distinguished name для запроса на сертификат
CK_CHAR_PTR dn[] =
{
(CK_CHAR_PTR)"CN",
(CK_CHAR_PTR)"Ivan Ivanov",
(CK_CHAR_PTR)"C",
(CK_CHAR_PTR)"RU"
};
// extensions для запроса на сертификат
CK_CHAR_PTR exts[] =
{
//(CK_CHAR_PTR)"1.2.3.5",
//(CK_CHAR_PTR)"DER:01020304",
//(CK_CHAR_PTR)"2.5.29.16",
//(CK_CHAR_PTR)"ASN1:SEQUENCE:privateKeyUsagePeriod\n[privateKeyUsagePeriod]\nnotAfter=IMPLICIT:1,GENERALIZEDTIME:20150101000000Z",
//(CK_CHAR_PTR)"subjectKeyIdentifier",
//(CK_CHAR_PTR)"1234567890abcdef",
//(CK_CHAR_PTR)"1.2.3.4",
//(CK_CHAR_PTR)"ASN1:IA5STRING:This is a string",
(CK_CHAR_PTR)"keyUsage",
(CK_CHAR_PTR)"digitalSignature,keyEncipherment"
};
// запрос на сертификат
CK_BYTE_PTR csr = NULL;
CK_ULONG csrLength = 0;
rv = createCSR(session, publicKey, dn, sizeof(dn)/sizeof(CK_CHAR_PTR), &csr, &csrLength, 0, NULL, 0, exts, sizeof(exts)/sizeof(CK_CHAR_PTR));
if (rv != CKR_OK)
{
PrintError("createCSR", rv);
goto end;
}
printf("Create CSR: OK\n");
createCSREx
¶createCSREx
(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE publicKey, CK_CHAR_PTR* dn, CK_ULONG dnLength, CK_BYTE_PTR* csr, CK_ULONG_PTR csrLength, CK_OBJECT_HANDLE privateKey, CK_CHAR_PTR* attributes, CK_ULONG attributesLength, CK_CHAR_PTR* extensions, CK_ULONG extensionsLength, CK_MECHANISM_PTR signatureMech)¶Параметры: |
|
---|
Расширенный вариант функции createCSR()
. Формирует запрос на выпуск сертификата.
Запускается в режимах
Результат: | Функция возвращает стандартные ошибки, предусмотренные спецификацией PKCS #11. Совет Полный список ошибок см. в приложении. |
---|
verifyReq
¶verifyReq
(CK_BYTE_PTR csr, CK_ULONG csrLength)¶Параметры: |
|
---|
Функция verifyReq
позволяет проверить подпись в запросе на сертификат. Возвращаемое значение определяет
результат проверки:
CKR_OK
– подпись действительна,CKR_SIGNATURE_INVALID
– подпись недействительна.Запускается в режимах
Результат: | Функция возвращает стандартные ошибки, предусмотренные спецификацией PKCS #11. Совет Полный список ошибок см. в приложении. |
---|
verifyReqEx
¶verifyReqEx
(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE publicKey, CK_BYTE_PTR csr, CK_ULONG csrLength, CK_MECHANISM_PTR mech)¶Параметры: |
|
---|
Расширенный вариант функции verifyReq()
. Позволяет проверить подпись в запросе на сертификат. Возвращаемое
значение определяет результат проверки:
CKR_OK
– подпись действительна,CKR_SIGNATURE_INVALID
– подпись недействительна.Запускается в режимах
Результат: | Функция возвращает стандартные ошибки, предусмотренные спецификацией PKCS #11. Совет Полный список ошибок см. в приложении. |
---|
genCert
¶genCert
(CK_SESSION_HANDLE session, CK_BYTE_PTR csr, CK_ULONG csrLength, CK_OBJECT_HANDLE privateKey, CK_CHAR_PTR serial, CK_CHAR_PTR* issuerDN, CK_ULONG issuerDNLength, CK_ULONG days, CK_BYTE_PTR* certificate, CK_ULONG_PTR certificateLength)¶Параметры: |
|
---|
Функция genCert
позволяет создать сертификат из запроса на сертификат.
Запускается в режимах
Результат: | Функция возвращает стандартные ошибки, предусмотренные спецификацией PKCS #11. Совет Полный список ошибок см. в приложении. |
---|
genCertEx
¶genCertEx
(CK_SESSION_HANDLE session, CK_BYTE_PTR csr, CK_ULONG csrLength, CK_OBJECT_HANDLE privateKey, CK_CHAR_PTR serial, CK_CHAR_PTR* issuerDN, CK_ULONG issuerDNLength, CK_ULONG days, CK_BYTE_PTR* certificate, CK_ULONG_PTR certificateLength, CK_MECHANISM_PTR mech)¶Параметры: |
|
---|
Расширенный вариант функции genCert()
. Позволяет создать сертификат из запроса на сертификат.
Запускается в режимах
Результат: | Функция возвращает стандартные ошибки, предусмотренные спецификацией PKCS #11. Совет Полный список ошибок см. в приложении. |
---|
certVerify
¶certVerify
(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE certificateToVerify, CK_OBJECT_HANDLE_PTR trustedCertificates, CK_ULONG trustedCertificatesLength, CK_OBJECT_HANDLE_PTR certificateChain, CK_ULONG certificateChainLength, CK_BYTE_PTR crls, CK_ULONG_PTR crlsLengths, CK_ULONG crlsLength)¶Параметры: |
|
---|
Функция certVerify
используется для проверки сертификатов по всему пути сертификации.
Запускается в режимах
Результат: | Функция возвращает стандартные ошибки, предусмотренные спецификацией PKCS #11. Совет Полный список ошибок см. в приложении. |
---|
getCertificateInfo
¶getCertificateInfo
(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE certificate, CK_CHAR_PTR* certificateInfo, CK_ULONG* certificateInfoLength)¶Параметры: |
|
---|
Функция getCertificateInfo
используется для получения сведений о сертификате с заданным дескриптором в текстовом
виде.
Запускается в режимах
Результат: | Функция возвращает стандартные ошибки, предусмотренные спецификацией PKCS #11. Совет Полный список ошибок см. в приложении. |
---|
getCertificateInfoEx
¶getCertificateInfoEx
(CK_BYTE_PTR certificate, CK_ULONG certificateLength, CK_CHAR_PTR* certificateInfo, CK_ULONG* certificateInfoLength)¶Параметры: |
|
---|
Функция getCertificateInfoEx
используется для получения сведений о сертификате в текстовом виде. В отличие от
функции getCertificateInfo
сертификат не определяется дескриптором, а задаётся явно.
Запускается в режимах
Результат: | Функция возвращает стандартные ошибки, предусмотренные спецификацией PKCS #11. Совет Полный список ошибок см. в приложении. |
---|
getCertificateAttribute
¶getCertificateAttribute
(CK_BYTE_PTR x509data, CK_ULONG dataLength, CK_BYTE dataId, CK_BYTE_PTR* outputdata, CK_ULONG_PTR outputdatalength)¶Параметры: |
|
---|
Получить параметры сертификата.
Запускается в режимах
Результат: | Функция возвращает стандартные ошибки, предусмотренные спецификацией PKCS #11. Совет Полный список ошибок см. в приложении. |
---|
checkCertSignature
¶checkCertSignature
(CK_SESSION_HANDLE session, CK_BYTE_PTR certToCheck, CK_ULONG certToCheckLength, CK_BYTE_PTR trustedSignerCert, CK_ULONG trustedSignerCertLength)¶Параметры: |
|
---|
Проверка подписи в сертификате на соответствие ключу его подписанта. Проверка подписи выполняется аппаратно.
Хеширование выполняется аппаратно, если была вызвана функция useHardwareHash(CK_TRUE)
.
Функция verifyReq
позволяет проверить подпись в запросе на сертификат. Возвращаемое значение определяет
результат проверки:
CKR_OK
– подпись действительна,CKR_SIGNATURE_INVALID
– подпись недействительна.Запускается в режимах
Результат: | Функция возвращает стандартные ошибки, предусмотренные спецификацией PKCS #11. Совет Полный список ошибок см. в приложении. |
---|