nl:: Weave:: Perfiles:: Seguridad
Este espacio de nombres incluye todas las interfaces de Weave para el perfil de Seguridad de Weave.
Resumen
Enumeraciones |
|
---|---|
@235
|
enum Marcas de propósito de clave de certificado X.509. |
@236
|
enum Marcas de uso de la clave del certificado X.509. |
@237
|
enum Marcas de certificado de Weave. |
@238
|
enum Marcas de decodificación de certificados de Weave. |
@239
|
enum Marcas de validación de certificados de Weave. |
@240
|
enum |
@280
|
enum |
@281
|
enum |
@282
|
enum |
@283
|
enum |
@284
|
enum |
@285
|
enum |
@286
|
enum |
@287
|
enum |
@288
|
enum |
@289
|
enum |
Typedefs |
|
---|---|
GenerateECDSASignatureFunct)(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig)
|
typedef Genera una firma ECDSA con la clave privada del nodo de Weave local. |
Variables |
|
---|---|
gProvisioningBundleKDFSalt = "Weave Provisioning Bundle v1"[]
|
const char
|
Functions |
|
---|---|
CASECertInfoFromAccessToken(const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *certInfoBuf, uint16_t certInfoBufSize, uint16_t & certInfoLen)
|
|
CASECertInfoFromAccessToken(TLVReader & reader, TLVWriter & writer)
|
|
ConvertAuthorityKeyIdentifierExtension(ASN1Reader & reader, TLVWriter & writer)
|
|
ConvertCertificate(ASN1Reader & reader, TLVWriter & writer)
|
|
ConvertDistinguishedName(ASN1Reader & reader, TLVWriter & writer, uint64_t tag)
|
|
ConvertECDSASignature_DERToWeave(const uint8_t *sigBuf, uint8_t sigLen, TLVWriter & writer, uint64_t tag)
|
|
ConvertExtension(ASN1Reader & reader, TLVWriter & writer)
|
|
ConvertExtensions(ASN1Reader & reader, TLVWriter & writer)
|
|
ConvertSubjectPublicKeyInfo(ASN1Reader & reader, TLVWriter & writer)
|
|
ConvertValidity(ASN1Reader & reader, TLVWriter & writer)
|
|
ConvertWeaveCertToX509Cert(const uint8_t *weaveCert, uint32_t weaveCertLen, uint8_t *x509CertBuf, uint32_t x509CertBufSize, uint32_t & x509CertLen)
|
|
ConvertX509CertToWeaveCert(const uint8_t *x509Cert, uint32_t x509CertLen, uint8_t *weaveCertBuf, uint32_t weaveCertBufSize, uint32_t & weaveCertLen)
|
|
DecodeConvertAuthorityKeyIdentifierExtension(TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData)
|
|
DecodeConvertBasicConstraintsExtension(TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData)
|
|
DecodeConvertCert(TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData)
|
|
DecodeConvertDN(TLVReader & reader, ASN1Writer & writer, WeaveDN & dn)
|
|
DecodeConvertECDSASignature(TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData)
|
|
DecodeConvertExtendedKeyUsageExtension(TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData)
|
|
DecodeConvertExtension(TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData)
|
|
DecodeConvertExtensions(TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData)
|
|
DecodeConvertKeyUsageExtension(TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData)
|
|
DecodeConvertRSASignature(TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData)
|
|
DecodeConvertSubjectKeyIdentifierExtension(TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData)
|
|
DecodeConvertSubjectPublicKeyInfo(TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData)
|
|
DecodeConvertTBSCert(TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData)
|
|
DecodeConvertValidity(TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData)
|
|
DecodeCopyECDSASignature_DER(const uint8_t *sigBuf, uint8_t sigLen, EncodedECDSASignature & sig)
|
|
DecodeWeaveCert(const uint8_t *weaveCert, uint32_t weaveCertLen, WeaveCertificateData & certData)
|
|
DecodeWeaveCert(TLVReader & reader, WeaveCertificateData & certData)
|
|
DecodeWeaveDN(TLVReader & reader, WeaveDN & dn)
|
|
DecodeWeaveECDSASignature(TLVReader & reader, EncodedECDSASignature & sig)
|
|
DecodeWeaveECPrivateKey(const uint8_t *buf, uint32_t len, uint32_t & weaveCurveId, EncodedECPublicKey & pubKey, EncodedECPrivateKey & privKey)
|
NL_DLL_EXPORT WEAVE_ERROR
|
DescribeWeaveCertId(OID attrOID, uint64_t weaveCertId)
|
const char *
|
DetermineCertType(WeaveCertificateData & cert)
|
Determinar el tipo general de un certificado de Weave.
|
EncodeWeaveECDSASignature(TLVWriter & writer, EncodedECDSASignature & sig, uint64_t tag)
|
|
EncodeWeaveECPrivateKey(uint32_t weaveCurveId, const EncodedECPublicKey *pubKey, const EncodedECPrivateKey & privKey, uint8_t *outBuf, uint32_t outBufSize, uint32_t & outLen)
|
NL_DLL_EXPORT WEAVE_ERROR
|
ExtractCertFromAccessToken(TLVReader & reader, TLVWriter & writer, uint64_t tag)
|
Lee un token de acceso de Weave y extrae el certificado de token de acceso.
|
ExtractPrivateKeyFromAccessToken(const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *privKeyBuf, uint16_t privKeyBufSize, uint16_t & privKeyLen)
|
Lee un token de acceso de Weave y extrae la clave privada.
|
ExtractPrivateKeyFromAccessToken(TLVReader & reader, TLVWriter & writer)
|
Lee un token de acceso de Weave y extrae la clave privada.
|
GenerateAndEncodeWeaveECDSASignature(TLVWriter & writer, uint64_t tag, const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *signingKey, uint16_t signingKeyLen)
|
Genera y codifica una firma ECA de Weave.
|
GenerateOperationalDeviceCert(uint64_t deviceId, EncodedECPublicKey & devicePubKey, uint8_t *cert, uint16_t certBufSize, uint16_t & certLen, GenerateECDSASignatureFunct genCertSignature)
|
NL_DLL_EXPORT WEAVE_ERROR
Generar certificado de dispositivo operativo de Weave.
|
GetWeaveSignatureAlgo(const uint8_t *sig, uint16_t sigLen, OID & sigAlgoOID)
|
|
Indent(FILE *out, uint16_t count)
|
void
|
InsertRelatedCertificatesIntoWeaveSignature(uint8_t *sigBuf, uint16_t sigLen, uint16_t sigBufLen, const uint8_t *relatedCerts, uint16_t relatedCertsLen, uint16_t & outSigLen)
|
|
IsCertificateExtensionTag(uint64_t tag)
|
bool
|
IsCurveInSet(uint32_t curveId, uint8_t curveSet)
|
bool
|
IsSupportedCurve(uint32_t curveId)
|
bool
|
IsWeaveIdX509Attr(OID oid)
|
bool
|
IsWeaveX509Attr(OID oid)
|
bool
|
LoadAccessTokenCerts(const uint8_t *accessToken, uint32_t accessTokenLen, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert)
|
Cargar los certificados en un token de acceso en un conjunto de certificados de Weave.
|
LoadAccessTokenCerts(TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert)
|
Cargar los certificados en un token de acceso en un conjunto de certificados de Weave.
|
MakeDeviceCredentialHash(const char *serialNum, size_t serialNumLen, const char *deviceId, size_t deviceIdLen, const char *deviceSecret, size_t deviceSecretLen, char *hashBuf, size_t hashBufSize)
|
NL_DLL_EXPORT WEAVE_ERROR
Genera un hash de verificación (en formato Base64) para un conjunto determinado de credenciales de dispositivo del termostato.
|
MakeWeaveProvisioningHash(uint64_t nodeId, const char *weaveCert, size_t weaveCertLen, const char *weavePrivKey, size_t weavePrivKeyLen, const char *pairingCode, size_t pairingCodeLen, char *hashBuf, size_t hashBufSize)
|
NL_DLL_EXPORT WEAVE_ERROR
Genera un hash de verificación (en formato Base64) para un conjunto determinado de información de aprovisionamiento de Weave.
|
OIDToWeaveCurveId(ASN1::OID curveOID)
|
uint32_t
|
PackCertTime(const ASN1UniversalTime & time, uint32_t & packedTime)
|
NL_DLL_EXPORT WEAVE_ERROR
Convierte una fecha y hora de un certificado (en forma de una estructura de tiempo universal ASN.1) en un certificado de fecha y hora empaquetado.
|
PackedCertDateToTime(uint16_t packedDate)
|
NL_DLL_EXPORT uint32_t
Convierte una fecha de certificado de empaquetado en la fecha o hora del certificado empaquetado correspondiente, en la que la parte del tiempo del valor se establece en 00:00:00.
|
PackedCertTimeToDate(uint32_t packedTime)
|
NL_DLL_EXPORT uint16_t
Convierte una fecha/hora de certificado empaquetado en una fecha de certificado empaquetado.
|
ParseWeaveIdAttribute(ASN1Reader & reader, uint64_t & weaveIdOut)
|
|
PrintCert(FILE *out, const WeaveCertificateData & cert, const WeaveCertificateSet *certSet, uint16_t indent, bool verbose)
|
NL_DLL_EXPORT void
|
PrintCertArray(FILE *out, TLVReader & reader, uint16_t indent)
|
|
PrintCertReference(FILE *out, TLVReader & reader, uint16_t indent)
|
|
PrintCertType(FILE *out, uint8_t certType)
|
void
|
PrintCertValidationResults(FILE *out, const WeaveCertificateSet & certSet, const ValidationContext & validContext, uint16_t indent)
|
NL_DLL_EXPORT void
|
PrintECDSASignature(FILE *out, TLVReader & reader, uint16_t indent)
|
|
PrintHexField(FILE *out, const char *name, uint16_t indent, uint16_t count, const uint8_t *data)
|
void
|
PrintPackedDate(FILE *out, uint16_t t)
|
void
|
PrintPackedTime(FILE *out, uint32_t t)
|
void
|
PrintWeaveDN(FILE *out, const WeaveDN & dn)
|
void
|
PrintWeaveDN(FILE *out, TLVReader & reader)
|
|
PrintWeaveSignature(FILE *out, TLVReader & reader, uint16_t indent)
|
|
SecondsSinceEpochToPackedCertTime(uint32_t secondsSinceEpoch)
|
NL_DLL_EXPORT uint32_t
Convierte la cantidad de segundos desde 1970-01-01 00:00:00 UTC a una fecha y hora de certificado empaquetado.
|
TranslateOpenSSLError(WEAVE_ERROR defaultErr)
|
|
UnpackCertTime(uint32_t packedTime, ASN1UniversalTime & time)
|
NL_DLL_EXPORT WEAVE_ERROR
Descomprime un certificado empaquetado de fecha/hora en una estructura de tiempo universal ASN.1.
|
VerifyWeaveSignature(const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *sig, uint16_t sigLen, WeaveCertificateSet & certSet, ValidationContext & certValidContext)
|
NL_DLL_EXPORT WEAVE_ERROR
|
VerifyWeaveSignature(const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *sig, uint16_t sigLen, OID expectedSigAlgoOID, WeaveCertificateSet & certSet, ValidationContext & certValidContext)
|
NL_DLL_EXPORT WEAVE_ERROR
|
WeaveCurveIdToOID(uint32_t weaveCurveId)
|
NL_DLL_EXPORT OID
|
Clases |
|
---|---|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
Genera una WeaveSignature con una clave privada en la memoria. |
nl:: |
Proporciona una funcionalidad genérica para generar WeaveSignatures. |
Espacios de nombres |
|
---|---|
nl:: |
Este espacio de nombres incluye todas las interfaces de Weave para la biblioteca de claves de aplicaciones de Weave dentro del perfil de seguridad de Weave. |
nl:: |
Este espacio de nombres incluye todas las interfaces de Weave para el protocolo de establecimiento de la sesión autenticada (CASE) del perfil de seguridad de Weave. |
nl:: |
Este espacio de nombres incluye todas las interfaces de Weave para el protocolo de aprovisionamiento de certificados de Weave en el perfil de seguridad de Weave. |
nl:: |
Este espacio de nombres incluye todas las interfaces de Weave para el protocolo de exportación de claves dentro del perfil de seguridad de Weave. |
nl:: |
Este espacio de nombres incluye todas las interfaces de Weave para el protocolo de establecimiento de sesiones autenticadas con contraseña (PASE) en el perfil de seguridad de Weave. |
nl:: |
Este espacio de nombres incluye todas las interfaces de Weave para la biblioteca de contraseñas de Weave dentro del perfil de seguridad de Weave. |
nl:: |
Este espacio de nombres incluye todas las interfaces de Weave para el protocolo de intercambio de claves autenticados (Take) del perfil Weave de Weave. |
Enumeraciones
@235
@235
Marcas de propósito de clave de certificado X.509.
@236
@236
Marcas de uso de la clave del certificado X.509.
@237
@237
Marcas de certificado de Weave.
Contiene información sobre un certificado que se cargó en un objeto WeaveCertSet.
@238
@238
Marcas de decodificación de certificados de Weave.
Contiene información que especifica cómo se debe decodificar un certificado.
@239
@239
Marcas de validación de certificados de Weave.
Contiene información que especifica cómo se debe validar un certificado.
@240
@240
@280
@280
@281
@281
@282
@282
@283
@283
@284
@284
@285
@285
@286
@286
@287
@287
@288
@288
@289
@289
Typedefs
GenerateECDSASignatureFunct
WEAVE_ERROR(* GenerateECDSASignatureFunct)(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig)
Genera una firma ECDSA con la clave privada del nodo de Weave local.
Cuando se invocan, las implementaciones deben calcular una firma en el valor de hash determinado con la clave privada del nodo.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores que se muestran |
|
Variables
gProvisioningBundleKDFSalt
const char gProvisioningBundleKDFSalt[] = "Weave Provisioning Bundle v1"
Functions
CASECertInfoFromAccessToken
WEAVE_ERROR CASECertInfoFromAccessToken( const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *certInfoBuf, uint16_t certInfoBufSize, uint16_t & certInfoLen )
Lee un token de acceso de Weave y construye una estructura de CASE certificado TLV que contiene los certificados del token de acceso.
Esta función decodifica un determinado token de acceso de Weave y codifica la TLV para la estructura de información del certificado CASE de Weave. El campo EntityCertificate de la estructura CertificateInfo se establece en el certificado de token de acceso y el RelatedCertificates (si está presente) en el campo correspondiente del token de acceso.
Detalles | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||
Valores que se muestran |
|
CASECertInfoFromAccessToken
WEAVE_ERROR CASECertInfoFromAccessToken( TLVReader & reader, TLVWriter & writer )
Lee un token de acceso de Weave y escribe una estructura de TLV de información de certificado de CASE que contiene los certificados del token de acceso.
Esta función lee un token de acceso de Weave de un TLVReader determinado y escribe la TLV para una estructura de información de certificados CASE de Weave en un TLVWriter. El campo EntityCertificate de la estructura CertificateInfo se establece en el certificado de token de acceso y el RelatedCertificates (si está presente) en el campo correspondiente del token de acceso.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Valores que se muestran |
|
ConvertAuthorityKeyIdentifierExtension
WEAVE_ERROR ConvertAuthorityKeyIdentifierExtension( ASN1Reader & reader, TLVWriter & writer )
ConvertCertificate
WEAVE_ERROR ConvertCertificate( ASN1Reader & reader, TLVWriter & writer )
ConvertDistinguishedName
WEAVE_ERROR ConvertDistinguishedName( ASN1Reader & reader, TLVWriter & writer, uint64_t tag )
ConvertECDSAFirma_DERToWeave
WEAVE_ERROR ConvertECDSASignature_DERToWeave( const uint8_t *sigBuf, uint8_t sigLen, TLVWriter & writer, uint64_t tag )
ConvertirExtensión
WEAVE_ERROR ConvertExtension( ASN1Reader & reader, TLVWriter & writer )
ConvertirExtensiones
WEAVE_ERROR ConvertExtensions( ASN1Reader & reader, TLVWriter & writer )
ConvertSubjectPublicKeyInfo
WEAVE_ERROR ConvertSubjectPublicKeyInfo( ASN1Reader & reader, TLVWriter & writer )
ConvertValidity
WEAVE_ERROR ConvertValidity( ASN1Reader & reader, TLVWriter & writer )
ConvertWeaveCertToX509Cert
WEAVE_ERROR ConvertWeaveCertToX509Cert( const uint8_t *weaveCert, uint32_t weaveCertLen, uint8_t *x509CertBuf, uint32_t x509CertBufSize, uint32_t & x509CertLen )
ConvertX509CertToWeaveCert
WEAVE_ERROR ConvertX509CertToWeaveCert( const uint8_t *x509Cert, uint32_t x509CertLen, uint8_t *weaveCertBuf, uint32_t weaveCertBufSize, uint32_t & weaveCertLen )
DecodeConvertAuthorityKeyIdentifierExtension
WEAVE_ERROR DecodeConvertAuthorityKeyIdentifierExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertBasicConstraintsExtension
WEAVE_ERROR DecodeConvertBasicConstraintsExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertCert
WEAVE_ERROR DecodeConvertCert( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertDN
WEAVE_ERROR DecodeConvertDN( TLVReader & reader, ASN1Writer & writer, WeaveDN & dn )
DecodeConvertECDSASignature
WEAVE_ERROR DecodeConvertECDSASignature( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertExtendedKeyUsageExtension
WEAVE_ERROR DecodeConvertExtendedKeyUsageExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertExtension
WEAVE_ERROR DecodeConvertExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertExtensions
WEAVE_ERROR DecodeConvertExtensions( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertKeyUsageExtension
WEAVE_ERROR DecodeConvertKeyUsageExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertRSASignature
WEAVE_ERROR DecodeConvertRSASignature( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertSubjectKeyIdentifierExtension
WEAVE_ERROR DecodeConvertSubjectKeyIdentifierExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertSubjectPublicKeyInfo
WEAVE_ERROR DecodeConvertSubjectPublicKeyInfo( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertTBSCert
WEAVE_ERROR DecodeConvertTBSCert( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertValidity
WEAVE_ERROR DecodeConvertValidity( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeCopyECDSAFirma_DER
WEAVE_ERROR DecodeCopyECDSASignature_DER( const uint8_t *sigBuf, uint8_t sigLen, EncodedECDSASignature & sig )
DecodeWeaveCert
WEAVE_ERROR DecodeWeaveCert( const uint8_t *weaveCert, uint32_t weaveCertLen, WeaveCertificateData & certData )
DecodeWeaveCert
WEAVE_ERROR DecodeWeaveCert( TLVReader & reader, WeaveCertificateData & certData )
DecodeWeaveDN
WEAVE_ERROR DecodeWeaveDN( TLVReader & reader, WeaveDN & dn )
DecodeWeaveECDSAFirma
WEAVE_ERROR DecodeWeaveECDSASignature( TLVReader & reader, EncodedECDSASignature & sig )
DecodeWeaveECPrivateKey
NL_DLL_EXPORT WEAVE_ERROR DecodeWeaveECPrivateKey( const uint8_t *buf, uint32_t len, uint32_t & weaveCurveId, EncodedECPublicKey & pubKey, EncodedECPrivateKey & privKey )
ID de descripción de Weave
const char * DescribeWeaveCertId( OID attrOID, uint64_t weaveCertId )
Determina el tipo
WEAVE_ERROR DetermineCertType( WeaveCertificateData & cert )
Determinar el tipo general de un certificado de Weave.
Esta función realiza una evaluación general del tipo de certificado en función de la estructura de su DN sujeto y las extensiones presentes. Las aplicaciones pueden anular esta evaluación si establecen cert.CertType con otro valor, incluido uno definido por la aplicación.
En general, las aplicaciones solo confiarán en un certificado de par si se vincula a un certificado raíz de confianza. Sin embargo, el tipo asignado a un certificado puede influir en la naturaleza de esta confianza, p.ej., para permitir o inhabilitar el acceso a ciertas funciones. Debido a esto, los cambios en este algoritmo pueden tener efectos MUY IMPORTANTES y POTENCIALES EN CATASTRÓFICO sobre la seguridad general del sistema, y no deben realizarse sin una comprensión profunda de las implicaciones que esto tiene.
NOTA: No se pueden distinguir los certificados de acceso solo por su estructura. Por lo tanto, esta función nunca configura cert.CertType = kCertType_AccessToken.
EncodeWeaveECDSASignature
WEAVE_ERROR EncodeWeaveECDSASignature( TLVWriter & writer, EncodedECDSASignature & sig, uint64_t tag )
EncodeWeaveECPrivateKey
NL_DLL_EXPORT WEAVE_ERROR EncodeWeaveECPrivateKey( uint32_t weaveCurveId, const EncodedECPublicKey *pubKey, const EncodedECPrivateKey & privKey, uint8_t *outBuf, uint32_t outBufSize, uint32_t & outLen )
ExtractCertFromAccessToken
WEAVE_ERROR ExtractCertFromAccessToken( TLVReader & reader, TLVWriter & writer, uint64_t tag )
Lee un token de acceso de Weave y extrae el certificado de token de acceso.
Esta función lee un token de acceso de Weave de un TLVReader y escribe el certificado de token de acceso en un TLVWriter especificado.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Valores que se muestran |
|
ExtraerClaveClaveDeAcceso
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *privKeyBuf, uint16_t privKeyBufSize, uint16_t & privKeyLen )
Lee un token de acceso de Weave y extrae la clave privada.
Esta función decodifica un determinado token de acceso de Weave y extrae el campo de clave privada del token.
Detalles | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||
Valores que se muestran |
|
ExtraerClaveClaveDeAcceso
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( TLVReader & reader, TLVWriter & writer )
Lee un token de acceso de Weave y extrae la clave privada.
Esta función decodifica un determinado token de acceso de Weave y extrae el campo de clave privada del token.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Valores que se muestran |
|
GenerateAndEncodeWeaveECDSAFirma
WEAVE_ERROR GenerateAndEncodeWeaveECDSASignature( TLVWriter & writer, uint64_t tag, const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *signingKey, uint16_t signingKeyLen )
Genera y codifica una firma ECA de Weave.
Calcula una firma ECDSA con una clave privada y un hash de mensaje determinados, y escribe la firma como una estructura ECAEE de Weave en el escritor TLV especificado con la etiqueta determinada.
Detalles | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||
Valores que se muestran |
|
GenerateOperationalDeviceCert
NL_DLL_EXPORT WEAVE_ERROR GenerateOperationalDeviceCert( uint64_t deviceId, EncodedECPublicKey & devicePubKey, uint8_t *cert, uint16_t certBufSize, uint16_t & certLen, GenerateECDSASignatureFunct genCertSignature )
Generar certificado de dispositivo operativo de Weave.
Esta función genera un certificado operacional autofirmado de Weave codificado en el formato TLV de Weave.
Detalles | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||
Valores que se muestran |
|
GetWeaveSignatureAlgo
WEAVE_ERROR GetWeaveSignatureAlgo( const uint8_t *sig, uint16_t sigLen, OID & sigAlgoOID )
Aplicar sangría
void Indent( FILE *out, uint16_t count )
InsertRelatedCertificatesIntoWeaveSignature
WEAVE_ERROR InsertRelatedCertificatesIntoWeaveSignature( uint8_t *sigBuf, uint16_t sigLen, uint16_t sigBufLen, const uint8_t *relatedCerts, uint16_t relatedCertsLen, uint16_t & outSigLen )
IsCertificateExtensionTag
bool IsCertificateExtensionTag( uint64_t tag )
IncursivaInSet
bool IsCurveInSet( uint32_t curveId, uint8_t curveSet )
Curva admitida
bool IsSupportedCurve( uint32_t curveId )
IsWeaveIdX509Attr
bool IsWeaveIdX509Attr( OID oid )
IsWeaveX509Attr
bool IsWeaveX509Attr( OID oid )
LoadAccessTokenCerts
WEAVE_ERROR LoadAccessTokenCerts( const uint8_t *accessToken, uint32_t accessTokenLen, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert )
Cargar los certificados en un token de acceso en un conjunto de certificados de Weave.
Esta función decodifica un token de acceso de Weave determinado y carga los certificados del token de acceso en el objeto de conjunto de certificados de Weave especificado. Si los tokens de acceso contienen uno o más certificados relacionados, estos también se cargan en el conjunto de certificados.
Detalles | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||
Valores que se muestran |
|
LoadAccessTokenCerts
WEAVE_ERROR LoadAccessTokenCerts( TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert )
Cargar los certificados en un token de acceso en un conjunto de certificados de Weave.
Esta función lee un token de acceso de Weave de un TLVReader determinado y carga los certificados del token de acceso en el objeto de conjunto de certificados de Weave especificado. Si los tokens de acceso contienen uno o más certificados relacionados, estos también se cargan en el conjunto de certificados.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Valores que se muestran |
|
Hash de dispositivo de la credencial
NL_DLL_EXPORT WEAVE_ERROR MakeDeviceCredentialHash( const char *serialNum, size_t serialNumLen, const char *deviceId, size_t deviceIdLen, const char *deviceSecret, size_t deviceSecretLen, char *hashBuf, size_t hashBufSize )
Genera un hash de verificación (en formato Base64) para un conjunto determinado de credenciales de dispositivo del termostato.
Detalles | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||||||
Valores que se muestran |
|
MakeWeaveProvisioningHash
NL_DLL_EXPORT WEAVE_ERROR MakeWeaveProvisioningHash( uint64_t nodeId, const char *weaveCert, size_t weaveCertLen, const char *weavePrivKey, size_t weavePrivKeyLen, const char *pairingCode, size_t pairingCodeLen, char *hashBuf, size_t hashBufSize )
Genera un hash de verificación (en formato Base64) para un conjunto determinado de información de aprovisionamiento de Weave.
Detalles | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||||||||
Valores que se muestran |
|
ID del OID de Weave
uint32_t OIDToWeaveCurveId( ASN1::OID curveOID )
Hora del paquete
NL_DLL_EXPORT WEAVE_ERROR PackCertTime( const ASN1UniversalTime & time, uint32_t & packedTime )
Convierte una fecha y hora de un certificado (en forma de una estructura de tiempo universal ASN.1) en un certificado de fecha y hora empaquetado.
Las fechas y horas del certificado empaquetado proporcionan una representación compacta de los valores de tiempo dentro de un certificado (no antes y no después) que no requiere un cálculo matemático completo para poder interpretarse.
Una fecha/hora del certificado empaquetado incluye los campos de una fecha y hora del calendario, es decir, año, mes, día, hora, minuto y, a continuación, se muestra en un número entero sin signo. La representación de bits está organizada de manera que las comparaciones ordinales de los valores de fecha y hora empaquetados correspondan al orden natural de los tiempos correspondientes. Para reducir su tamaño, los horarios y las fechas de los certificados empaquetados se limitan a representar los horarios que se encuentren dentro de las fechas 2000/01/01 00:00:00 o después. Si se alojan dentro de un número entero de 32 bits sin signo, las fechas y horas del certificado empaquetado pueden representar hasta el año 2133.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
Fecha de inicio del certificado
NL_DLL_EXPORT uint32_t PackedCertDateToTime( uint16_t packedDate )
Convierte una fecha de certificado de empaquetado en la fecha o hora del certificado empaquetado correspondiente, en la que la parte del tiempo del valor se establece en 00:00:00.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Fecha y hora del certificado del paquete correspondiente
|
CertifiedTimeToDate
NL_DLL_EXPORT uint16_t PackedCertTimeToDate( uint32_t packedTime )
Convierte una fecha/hora de certificado empaquetado en una fecha de certificado empaquetado.
Una fecha de certificado empaquetado contiene los campos de un año de fecha, mes o día, empaquetados en un número entero sin signo. Los bits están organizados de manera tal que las comparaciones ordinales de los valores de fecha de empaquetado corresponden al orden natural de las fechas correspondientes. Para reducir su tamaño, las fechas de los certificados empaquetados se limitan a representar fechas a partir del 01/01/2000. Si se alojan dentro de un número entero de 16 bits sin signo, las fechas de los certificados empaquetados pueden representar fechas hasta el año 2176.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
La fecha del certificado del paquete correspondiente
|
Atributo ParseWeave
WEAVE_ERROR ParseWeaveIdAttribute( ASN1Reader & reader, uint64_t & weaveIdOut )
Impresión de impresión
NL_DLL_EXPORT void PrintCert( FILE *out, const WeaveCertificateData & cert, const WeaveCertificateSet *certSet, uint16_t indent, bool verbose )
Array de impresión
WEAVE_ERROR PrintCertArray( FILE *out, TLVReader & reader, uint16_t indent )
Referencia de impresión
WEAVE_ERROR PrintCertReference( FILE *out, TLVReader & reader, uint16_t indent )
Tipo de impresión
void PrintCertType( FILE *out, uint8_t certType )
ImpresiónCertValidationResults
NL_DLL_EXPORT void PrintCertValidationResults( FILE *out, const WeaveCertificateSet & certSet, const ValidationContext & validContext, uint16_t indent )
Impresión ECDSA de impresión
WEAVE_ERROR PrintECDSASignature( FILE *out, TLVReader & reader, uint16_t indent )
Imprimir hexadecimal
void PrintHexField( FILE *out, const char *name, uint16_t indent, uint16_t count, const uint8_t *data )
Fecha de impresión del paquete
void PrintPackedDate( FILE *out, uint16_t t )
Tiempo de empaquetado de impresión
void PrintPackedTime( FILE *out, uint32_t t )
ImpresiónDeTela
void PrintWeaveDN( FILE *out, const WeaveDN & dn )
ImpresiónDeTela
WEAVE_ERROR PrintWeaveDN( FILE *out, TLVReader & reader )
ImpresiónDeWeave
WEAVE_ERROR PrintWeaveSignature( FILE *out, TLVReader & reader, uint16_t indent )
Segundo Desde el Epoch
NL_DLL_EXPORT uint32_t SecondsSinceEpochToPackedCertTime( uint32_t secondsSinceEpoch )
Convierte la cantidad de segundos desde 1970-01-01 00:00:00 UTC a una fecha y hora de certificado empaquetado.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Fecha y hora del certificado del paquete correspondiente
|
Error de OpenSSL
WEAVE_ERROR TranslateOpenSSLError( WEAVE_ERROR defaultErr )
Tiempodedesempaquetado
NL_DLL_EXPORT WEAVE_ERROR UnpackCertTime( uint32_t packedTime, ASN1UniversalTime & time )
Descomprime un certificado empaquetado de fecha/hora en una estructura de tiempo universal ASN.1.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
VerificarWeaveSignature
NL_DLL_EXPORT WEAVE_ERROR VerifyWeaveSignature( const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *sig, uint16_t sigLen, WeaveCertificateSet & certSet, ValidationContext & certValidContext )
VerificarWeaveSignature
NL_DLL_EXPORT WEAVE_ERROR VerifyWeaveSignature( const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *sig, uint16_t sigLen, OID expectedSigAlgoOID, WeaveCertificateSet & certSet, ValidationContext & certValidContext )
WeaveCurveIdToOID
NL_DLL_EXPORT OID WeaveCurveIdToOID( uint32_t weaveCurveId )