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. Совет Полный список ошибок см. в приложении. |
|---|