нл:: Переплетение:: Крипто
Это пространство имен включает в себя все интерфейсы Weave для общей криптографической поддержки.
Краткое содержание
Перечисления | |
---|---|
X963EncodedPointFormat | перечисление |
Определения типов | |
---|---|
AES128CTRDRBG | определение типа |
AES128CTRMode | определение типа |
AES256CTRMode | определение типа |
EntropyFunct )(uint8_t *buf, size_t bufSize) | определение типаint(* Сигнатура функции, используемой для сбора случайных данных из источника энтропии. |
HKDFSHA1 | определение типа |
HKDFSHA256 | определение типа |
HMACSHA1 | определение типа |
HMACSHA256 | определение типа |
Функции | |
---|---|
ClearSecretData (uint8_t *buf, uint32_t len) | NL_DLL_EXPORT void Очищает первые len байт области памяти buf . |
ConstantTimeCompare (const uint8_t *buf1, const uint8_t *buf2, uint16_t len) | bool Сравнивает первые len байт областей памяти buf1 и области памяти buf2 . |
DecodeBIGNUMValueLE (BIGNUM & val, uint16_t size, const uint8_t *& p) | |
DecodeECDSASignature (const EncodedECDSASignature & encodedSig, ECDSA_SIG *& sig) | |
DecodeECKey (OID curveOID, const EncodedECPrivateKey *encodedPrivKey, const EncodedECPublicKey *encodedPubKey, EC_KEY *& ecKey) | NL_DLL_EXPORT WEAVE_ERROR |
DecodeX962ECPoint (const uint8_t *encodedPoint, uint16_t encodedPointLen, EC_GROUP *group, EC_POINT *& point) | NL_DLL_EXPORT WEAVE_ERROR |
DecodeX962ECPoint (const uint8_t *encodedPoint, uint16_t encodedPointLen, BIGNUM *& x, BIGNUM *& y) | |
ECDHComputeSharedSecret (OID curveOID, const EC_GROUP *ecGroup, const EC_POINT *pubKeyPoint, const BIGNUM *privKeyBN, uint8_t *sharedSecretBuf, uint16_t sharedSecretBufSize, uint16_t & sharedSecretLen) | NL_DLL_EXPORT WEAVE_ERROR |
ECDHComputeSharedSecret (OID curveOID, const EncodedECPublicKey & encodedPubKey, const EncodedECPrivateKey & encodedPrivKey, uint8_t *sharedSecretBuf, uint16_t sharedSecretBufSize, uint16_t & sharedSecretLen) | |
ECDSASigToFixedLenSig (OID curveOID, const ECDSA_SIG *ecSig, uint8_t *fixedLenSig) | |
ECDSA_SIG_get0 (const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps) | void |
ECDSA_SIG_set0 (ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s) | int |
EncodeBIGNUMValueLE (const BIGNUM & val, uint16_t size, uint8_t *& p) | |
EncodeECDSASignature (const ECDSA_SIG *sig, EncodedECDSASignature & encodedSig) | |
EncodeX962ECPoint (OID curveOID, EC_GROUP *ecGroup, const EC_POINT *point, uint8_t *buf, uint16_t bufSize, uint16_t & encodedPointLen) | NL_DLL_EXPORT WEAVE_ERROR |
FixedLenSigToECDSASig (OID curveOID, const uint8_t *fixedLenSig, ECDSA_SIG *& ecSig) | |
GenerateAndEncodeWeaveHMACSignature (OID sigAlgoOID, TLVWriter & writer, uint64_t tag, const uint8_t *data, uint16_t dataLen, const uint8_t *key, uint16_t keyLen) | Создайте и закодируйте подпись Weave HMAC . |
GenerateAndEncodeWeaveRSASignature (OID sigAlgoOID, TLVWriter & writer, uint64_t tag, const uint8_t *hash, uint8_t hashLen, const uint8_t *keyDER, uint16_t keyDERLen) | Создайте и закодируйте подпись Weave RSA. |
GenerateECDHKey (OID curveOID, EncodedECPublicKey & encodedPubKey, EncodedECPrivateKey & encodedPrivKey) | |
GenerateECDSASignature (OID curveOID, const uint8_t *msgHash, uint8_t msgHashLen, const EncodedECPrivateKey & encodedPrivKey, EncodedECDSASignature & encodedSig) | |
GenerateECDSASignature (OID curveOID, const uint8_t *msgHash, uint8_t msgHashLen, const EncodedECPrivateKey & encodedPrivKey, uint8_t *fixedLenSig) | |
GetCurveG (OID curveOID, EncodedECPublicKey & encodedPubKey) | |
GetCurveSize (const OID curveOID, const EC_GROUP *ecGroup) | int |
GetCurveSize (const OID curveOID) | int Получить размер эллиптической кривой (в байтах). |
GetECGroupForCurve (OID curveOID, EC_GROUP *& ecGroup) | NL_DLL_EXPORT WEAVE_ERROR |
ReverseBytes (uint8_t *buf, size_t len) | void |
ShaNIDFromSigAlgoOID (OID sigAlgoOID) | int |
VerifyECDSASignature (OID curveOID, const uint8_t *msgHash, uint8_t msgHashLen, const EncodedECDSASignature & encodedSig, const EncodedECPublicKey & encodedPubKey) | |
VerifyECDSASignature (OID curveOID, const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *fixedLenSig, const EncodedECPublicKey & encodedPubKey) | |
VerifyHMACSignature (OID sigAlgoOID, const uint8_t *data, uint16_t dataLen, const EncodedHMACSignature & sig, const uint8_t *key, uint16_t keyLen) | Проверьте подпись Weave HMAC . |
VerifyRSASignature (OID sigAlgoOID, const uint8_t *hash, uint8_t hashLen, const EncodedRSASignature & sig, const uint8_t *certDER, uint16_t certDERLen) | Проверьте подпись Weave RSA. |
Перечисления
X963EncodedPointFormat
X963EncodedPointFormat
Определения типов
AES128CTRDRBG
CTR_DRBG< Platform::Security::AES128BlockCipherEnc > AES128CTRDRBG
AES128CTRMode
CTRMode< Platform::Security::AES128BlockCipherEnc > AES128CTRMode
AES256CTRMode
CTRMode< Platform::Security::AES256BlockCipherEnc > AES256CTRMode
ЭнтропияФункция
int(* EntropyFunct)(uint8_t *buf, size_t bufSize)
Сигнатура функции, используемой для сбора случайных данных из источника энтропии.
HKDFSHA1
HKDF< Platform::Security::SHA1 > HKDFSHA1
HKDFSHA256
HKDF< Platform::Security::SHA256 > HKDFSHA256
ХМАЧША1
HMAC< Platform::Security::SHA1 > HMACSHA1
ХМАЧША256
HMAC< Platform::Security::SHA256 > HMACSHA256
Функции
ClearSecretData
NL_DLL_EXPORT void ClearSecretData( uint8_t *buf, uint32_t len )
Очищает первые len
байт области памяти buf
.
В этой реализации первые len
байт области памяти buf
заполняются нулями.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
ConstantTimeCompare
bool ConstantTimeCompare( const uint8_t *buf1, const uint8_t *buf2, uint16_t len )
Сравнивает первые len
байт областей памяти buf1
и области памяти buf2
.
Время, затрачиваемое этой функцией, не зависит от данных в областях памяти buf1
и buf2
.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возвращаемые значения |
|
ДекодированиеBIGNUMValueLE
WEAVE_ERROR DecodeBIGNUMValueLE( BIGNUM & val, uint16_t size, const uint8_t *& p )
ДекодированиеECDSASignature
WEAVE_ERROR DecodeECDSASignature( const EncodedECDSASignature & encodedSig, ECDSA_SIG *& sig )
ДекодированиеECKey
NL_DLL_EXPORT WEAVE_ERROR DecodeECKey( OID curveOID, const EncodedECPrivateKey *encodedPrivKey, const EncodedECPublicKey *encodedPubKey, EC_KEY *& ecKey )
ДекодированиеX962ECPoint
NL_DLL_EXPORT WEAVE_ERROR DecodeX962ECPoint( const uint8_t *encodedPoint, uint16_t encodedPointLen, EC_GROUP *group, EC_POINT *& point )
ДекодированиеX962ECPoint
WEAVE_ERROR DecodeX962ECPoint( const uint8_t *encodedPoint, uint16_t encodedPointLen, BIGNUM *& x, BIGNUM *& y )
ECDHComputeSharedSecret
NL_DLL_EXPORT WEAVE_ERROR ECDHComputeSharedSecret( OID curveOID, const EC_GROUP *ecGroup, const EC_POINT *pubKeyPoint, const BIGNUM *privKeyBN, uint8_t *sharedSecretBuf, uint16_t sharedSecretBufSize, uint16_t & sharedSecretLen )
ECDHComputeSharedSecret
WEAVE_ERROR ECDHComputeSharedSecret( OID curveOID, const EncodedECPublicKey & encodedPubKey, const EncodedECPrivateKey & encodedPrivKey, uint8_t *sharedSecretBuf, uint16_t sharedSecretBufSize, uint16_t & sharedSecretLen )
ECDSASigToFixedLenSig
WEAVE_ERROR ECDSASigToFixedLenSig( OID curveOID, const ECDSA_SIG *ecSig, uint8_t *fixedLenSig )
ECDSA_SIG_get0
void ECDSA_SIG_get0( const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps )
ECDSA_SIG_set0
int ECDSA_SIG_set0( ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s )
КодироватьBIGNUMValueLE
WEAVE_ERROR EncodeBIGNUMValueLE( const BIGNUM & val, uint16_t size, uint8_t *& p )
КодироватьECDSASignature
WEAVE_ERROR EncodeECDSASignature( const ECDSA_SIG *sig, EncodedECDSASignature & encodedSig )
КодироватьX962ECPoint
NL_DLL_EXPORT WEAVE_ERROR EncodeX962ECPoint( OID curveOID, EC_GROUP *ecGroup, const EC_POINT *point, uint8_t *buf, uint16_t bufSize, uint16_t & encodedPointLen )
ФиксированныйLenSigToECDSASig
WEAVE_ERROR FixedLenSigToECDSASig( OID curveOID, const uint8_t *fixedLenSig, ECDSA_SIG *& ecSig )
GenerateAndEncodeWeaveHMACSignature
WEAVE_ERROR GenerateAndEncodeWeaveHMACSignature( OID sigAlgoOID, TLVWriter & writer, uint64_t tag, const uint8_t *data, uint16_t dataLen, const uint8_t *key, uint16_t keyLen )
Создайте и закодируйте подпись Weave HMAC .
Вычисляет подпись HMAC для заданных данных с использованием секретного ключа и записывает подпись в виде структуры Weave HMACSignature в указанный модуль записи TLV с заданным тегом.
Подробности | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||||
Возвращаемые значения |
|
GenerateAndEncodeWeaveRSASignature
WEAVE_ERROR GenerateAndEncodeWeaveRSASignature( OID sigAlgoOID, TLVWriter & writer, uint64_t tag, const uint8_t *hash, uint8_t hashLen, const uint8_t *keyDER, uint16_t keyDERLen )
Создайте и закодируйте подпись Weave RSA.
Вычисляет подпись RSA с использованием заданного секретного ключа RSA в кодировке X509 и хэша сообщения и записывает подпись в виде структуры Weave RSASignature в указанный модуль записи TLV с заданным тегом.
Подробности | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||||
Возвращаемые значения |
|
СоздатьECDHKey
WEAVE_ERROR GenerateECDHKey( OID curveOID, EncodedECPublicKey & encodedPubKey, EncodedECPrivateKey & encodedPrivKey )
Создать подпись ECDSASignature
WEAVE_ERROR GenerateECDSASignature( OID curveOID, const uint8_t *msgHash, uint8_t msgHashLen, const EncodedECPrivateKey & encodedPrivKey, EncodedECDSASignature & encodedSig )
Создать подпись ECDSASignature
WEAVE_ERROR GenerateECDSASignature( OID curveOID, const uint8_t *msgHash, uint8_t msgHashLen, const EncodedECPrivateKey & encodedPrivKey, uint8_t *fixedLenSig )
GetCurveG
WEAVE_ERROR GetCurveG( OID curveOID, EncodedECPublicKey & encodedPubKey )
GetCurveSize
int GetCurveSize( const OID curveOID, const EC_GROUP *ecGroup )
GetCurveSize
int GetCurveSize( const OID curveOID )
Получить размер эллиптической кривой (в байтах).
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возвращаемые значения |
|
GetECGroupForCurve
NL_DLL_EXPORT WEAVE_ERROR GetECGroupForCurve( OID curveOID, EC_GROUP *& ecGroup )
Обратные байты
void ReverseBytes( uint8_t *buf, size_t len )
ShaNIDFromSigAlgoOID
int ShaNIDFromSigAlgoOID( OID sigAlgoOID )
Проверить подписьECDSASignature
WEAVE_ERROR VerifyECDSASignature( OID curveOID, const uint8_t *msgHash, uint8_t msgHashLen, const EncodedECDSASignature & encodedSig, const EncodedECPublicKey & encodedPubKey )
Проверить подписьECDSASignature
WEAVE_ERROR VerifyECDSASignature( OID curveOID, const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *fixedLenSig, const EncodedECPublicKey & encodedPubKey )
Проверить подписьHMACSignature
WEAVE_ERROR VerifyHMACSignature( OID sigAlgoOID, const uint8_t *data, uint16_t dataLen, const EncodedHMACSignature & sig, const uint8_t *key, uint16_t keyLen )
Проверьте подпись Weave HMAC .
Проверяет подпись HMAC, используя заданные данные и секретный ключ, который будет использоваться для проверки подписи.
Подробности | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||
Возвращаемые значения |
|
Проверить подписьRSASignature
WEAVE_ERROR VerifyRSASignature( OID sigAlgoOID, const uint8_t *hash, uint8_t hashLen, const EncodedRSASignature & sig, const uint8_t *certDER, uint16_t certDERLen )
Проверьте подпись Weave RSA.
Проверяет подпись RSA, используя заданный хеш данных и сертификат RSA в кодировке X509, содержащий открытый ключ, который будет использоваться для проверки подписи.
Подробности | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||
Возвращаемые значения |
|