TLSEstablishConnectionBegin
CK_RV TLSEstablishConnectionBegin(CK_VOID_PTR_PTR pContext, CK_SESSION_HANDLE session, CK_OBJECT_HANDLE certificate, CK_OBJECT_HANDLE privateKey, CK_BYTE_PTR data,
CK_ULONG dataLength, CK_BYTE_PTR dataOut, CK_ULONG_PTR dataOutLength, CK_BBOOL serverMode)
Параметры:
- pContext (in) – контекст соедиения. После окончания работы с контекстом необходимо освободить его, вызвав функцию TLSCloseConnection().
- session (in) – PKCS#11 сеанс.
- certificate (in) – сертификат
- privateKey (in) – закрытый ключ.
- data (in) – данные полученные от другой стороны (NULL_PTR в случае работы в режиме TLS клиента).
- dataLength (in) – длина данных, полученных от другой стороны (0 в случае работы в режиме TLS клиента).
- dataOut (in) – данные для передачи другой стороне.
- dataOutLength (in) – длина данных для передачи другой стороне (при вызове значение, на которое указывает указатель, должно содержать доступную длину буфера dataOut)
- serverMode – устанавливать соединение в режиме TLS сервера, если передано значение параметра CK_TRUE; иначе, если значение CK_FALSE - в режиме TLS клиента.
Начать установку TLS соединения. Функция возвращает код CKR_NEED_MORE_DATA, если установка соединения со стороны сервера не завершена, и требуются дополнительные данные от сервера.
Запускается в режимах: |
Результат: Функция возвращает стандартные ошибки, предусмотренные спецификацией PKCS #11.
Совет: Полный список ошибок см. в приложении. |
TLSEstablishConnectionContinue
CK_RV TLSEstablishConnectionContinue(CK_VOID_PTR pContext, CK_BYTE_PTR dataIn, CK_ULONG dataInLength, CK_BYTE_PTR dataOut, CK_ULONG_PTR dataOutLength, CK_BBOOL serverMode)
Параметры:
- pContext (in) – контекст соединения.
- dataIn (in) – данные полученные от другой стороны.
- dataInLength (in) – длина данных, полученных от другой стороны.
- dataOut (in) – данные для передачи другой стороне.
- dataOutLength (in) – длина данных для передачи другой стороне (при вызове значение на которое указывает указатель должно содержать доступную длину буфера dataOut).
- serverMode – устанавливать соединение в режиме TLS сервера, если передано значение параметра CK_TRUE; иначе, если значение CK_FALSE - в режиме TLS клиента.
Продолжить установку TLS соединения. Функция может возвращать код CKR_NEED_MORE_DATA, если установка соединения со стороны сервера не завершена, и требуются дополнительные данные от сервера.
Запускается в режимах: |
Результат: Функция возвращает стандартные ошибки, предусмотренные спецификацией PKCS #11.
Совет: Полный список ошибок см. в приложении. |
TLSGetPeerCertificate
CK_RV TLSGetPeerCertificate(CK_VOID_PTR pContext, CK_BYTE_PTR certificate, CK_ULONG_PTR certificateLength)
Параметры:
- pContext (in) – контекст соединения.
- certificate (in/out) – указатель на массив байт с полученным сертификатом сервера.
- certificateLength (in/out) – длина сертификата сервера в байтах (при вызове значение, на которое указывает указатель, должно содержать доступную длину буфера dataOut).
Получить сертификат сервера (peer-а). Функция запрашивает сертификат сервера и возвращает указатель на массив с записанным туда сертификатом. Функция вызывается только после успешного установления соединения с сервером.
Запускается в режимах: |
Результат: Функция возвращает стандартные ошибки, предусмотренные спецификацией PKCS #11.
Совет: Полный список ошибок см. в приложении. |
TLSGetPeerPublicKeyValue
CK_RV TLSGetPeerPublicKeyValue(CK_VOID_PTR pContext, CK_BYTE_PTR publicKeyValue, CK_ULONG_PTR publicKeyValueLenght)
Параметры:
- pContext (in) – контекст соединения.
- publicKeyValue (in/out) – указатель на массив байт с полученным открытым ключом сервера.
- publicKeyValueLenght (in/out) – длина открытого ключа сервера (при вызове значение, на которое указывает указатель, должно содержать доступную длину буфера dataOut).
Получить значение открытого ключа сервера (peer-а). Функция запрашивает открытый ключ сервера и возвращает указатель на массив с записанным туда ключом. Функция вызывается только после успешного установления соединения с сервером.
Запускается в режимах: |
Результат: Функция возвращает стандартные ошибки, предусмотренные спецификацией PKCS #11.
Совет: Полный список ошибок см. в приложении. |
TLSEncodeData
CK_RV TLSEncodeData(CK_VOID_PTR pContext, CK_BYTE_PTR dataIn, CK_ULONG dataInLength, CK_BYTE_PTR dataOut, CK_ULONG_PTR dataOutLength)
Параметры:
- pContext (in) – контекст соединения.
- dataIn (in) – данные для передачи на сервер.
- dataInLength (in) – длина данных для передачи.
- dataOut (out) – закодированные данные для передачи другой стороне. Не меньше 1 и не больше 0x4000 (16Kb).
- dataOutLength (out) – длина закодированных данных для передачи другой стороне (при вызове значение, на которое указывает указатель, должно содержать доступную длину буфера dataOut).
Функция кодирует данные для передачи на сервер.
Запускается в режимах: |
Результат: Функция возвращает стандартные ошибки, предусмотренные спецификацией PKCS #11.
Совет: Полный список ошибок см. в приложении. |
TLSDecodeData
CK_RV TLSDecodeData(CK_VOID_PTR pContext, CK_BYTE_PTR dataIn, CK_ULONG dataInLength, CK_BYTE_PTR dataOut, CK_ULONG_PTR dataOutLength)
Параметры:
- pContext (in) – контекст соединения.
- dataIn (in) – данные, полученные от сервера.
- dataInLength (in) – длина данных от сервера.
- dataOut (out) – данные для передачи другой стороне. Не меньше 1 и не больше 0x4000 (16Kb).
- dataOutLength (out) – длина данных для передачи другой стороне (при вызове значение, на которое указывает указатель, должно содержать доступную длину буфера dataOut).
Функция раскодирует данные, пришедшие от сервера.
Запускается в режимах |
Результат: Функция возвращает стандартные ошибки, предусмотренные спецификацией PKCS #11.
Совет: Полный список ошибок см. в приложении. |
TLSCloseConnection
CK_RV TLSCloseConnection(CK_VOID_PTR pContext)
Параметры:
- pContext (in) – контекст соединения.
Закрыть TLS соединение.
Запускается в режимах: |
Результат: Функция возвращает стандартные ошибки, предусмотренные спецификацией PKCS #11.
Совет: Полный список ошибок см. в приложении. |