nl:: Weave:: 프로필: 보안
이 네임스페이스에는 Weave 보안 프로필의 Weave 내의 모든 인터페이스가 포함되어 있습니다.
요약
열거 |
|
---|---|
@235
|
enum X.509 인증서 키 목적 플래그 |
@236
|
enum X.509 Certificate Key Usages 플래그. |
@237
|
enum Weave 인증서 플래그 |
@238
|
enum Weave Certificate Decode 플래그입니다. |
@239
|
enum Weave Certificate 유효성 검사 플래그 |
@240
|
enum |
@280
|
enum |
@281
|
enum |
@282
|
enum |
@283
|
enum |
@284
|
enum |
@285
|
enum |
@286
|
enum |
@287
|
enum |
@288
|
enum |
@289
|
enum |
Typedef |
|
---|---|
GenerateECDSASignatureFunct)(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig)
|
typedef 로컬 Weave 노드의 비공개 키를 사용하여 ECDSA 서명을 생성합니다. |
변수 |
|
---|---|
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)
|
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)
|
Weave 액세스 토큰을 읽고 액세스 토큰 인증서를 추출합니다.
|
ExtractPrivateKeyFromAccessToken(const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *privKeyBuf, uint16_t privKeyBufSize, uint16_t & privKeyLen)
|
Weave 액세스 토큰을 읽고 비공개 키를 추출합니다.
|
ExtractPrivateKeyFromAccessToken(TLVReader & reader, TLVWriter & writer)
|
Weave 액세스 토큰을 읽고 비공개 키를 추출합니다.
|
GenerateAndEncodeWeaveECDSASignature(TLVWriter & writer, uint64_t tag, const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *signingKey, uint16_t signingKeyLen)
|
Weave ECDSA 서명을 생성하고 인코딩합니다.
|
GenerateOperationalDeviceCert(uint64_t deviceId, EncodedECPublicKey & devicePubKey, uint8_t *cert, uint16_t certBufSize, uint16_t & certLen, GenerateECDSASignatureFunct genCertSignature)
|
NL_DLL_EXPORT WEAVE_ERROR
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)
|
액세스 토큰의 인증서를 Weave 인증서 세트에 로드합니다.
|
LoadAccessTokenCerts(TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert)
|
액세스 토큰의 인증서를 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
특정 Thermostat 기기 사용자 인증 정보 세트에 대해 인증 해시 (base-64 형식)를 생성합니다.
|
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
특정 Weave 프로비저닝 정보 세트에 대한 인증 해시 (base-64 형식)를 생성합니다.
|
OIDToWeaveCurveId(ASN1::OID curveOID)
|
uint32_t
|
PackCertTime(const ASN1UniversalTime & time, uint32_t & packedTime)
|
NL_DLL_EXPORT WEAVE_ERROR
인증서 날짜/시간 (ASN.1 범용 시간 구조 형식)을 채워진 인증서 날짜/시간으로 변환합니다.
|
PackedCertDateToTime(uint16_t packedDate)
|
NL_DLL_EXPORT uint32_t
입력된 인증서 날짜를 해당하는 인증서 날짜/시간으로 변환합니다. 여기서 값의 시간 부분이 00:00:00으로 설정됩니다.
|
PackedCertTimeToDate(uint32_t packedTime)
|
NL_DLL_EXPORT uint16_t
압축 인증서 날짜/시간을 압축 인증서 날짜로 변환합니다.
|
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
1970-01-01 00:00:00 UTC 이후의 초 수를 가득 찬 인증서 날짜/시간으로 변환합니다.
|
TranslateOpenSSLError(WEAVE_ERROR defaultErr)
|
|
UnpackCertTime(uint32_t packedTime, ASN1UniversalTime & time)
|
NL_DLL_EXPORT WEAVE_ERROR
압축 인증서 날짜/시간을 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
|
클래스 |
|
---|---|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
메모리 내 비공개 키를 사용하여 WeaveSignature를 생성합니다. |
nl:: |
WeaveSignature 생성을 위한 일반 기능을 제공합니다. |
네임스페이스 |
|
---|---|
nl:: |
이 네임스페이스에는 Weave 보안 프로필 내의 Weave 애플리케이션 키 라이브러리용 Weave 내의 모든 인터페이스가 포함되어 있습니다. |
nl:: |
이 네임스페이스는 Weave 보안 프로필 내에서 Weave 내의 Certificate Authenticate Session Set (CASE) 프로토콜의 모든 인터페이스를 포함합니다. |
nl:: |
이 네임스페이스는 Weave 보안 프로필 내의 Weave 인증서 프로비저닝 프로토콜에서 Weave 내의 모든 인터페이스를 포함합니다. |
nl:: |
이 네임스페이스는 Weave 보안 프로필 내 키 내보내기 프로토콜에 Weave 내의 모든 인터페이스를 포함합니다. |
nl:: |
이 네임스페이스는 Weave 보안 프로필 내에서 Weave의 비밀번호 인증 세션 설정 (PASE) 프로토콜용 인터페이스를 모두 포함합니다. |
nl:: |
이 네임스페이스에는 Weave 보안 프로필 내의 Weave 비밀번호 라이브러리용 Weave 내의 모든 인터페이스가 포함되어 있습니다. |
nl:: |
이 네임스페이스에는 Weave 보안 프로필 내의 토큰 인증 키 교환 (TAKE) 프로토콜용 Weave 내의 모든 인터페이스가 포함되어 있습니다. |
열거
@235
@235
X.509 인증서 키 목적 플래그
@236
@236
X.509 Certificate Key Usages 플래그.
@237
@237
Weave 인증서 플래그
WeaveCertSet 객체에 로드된 인증서에 대한 정보를 포함합니다.
@238
@238
Weave Certificate Decode 플래그입니다.
인증서 디코딩 방법을 지정하는 정보가 포함되어 있습니다.
@239
@239
Weave Certificate 유효성 검사 플래그
인증서 유효성 검사 방법을 지정하는 정보가 포함되어 있습니다.
@240
@240
@280
@280
@281
@281
@282
@282
@283
@283
@284
@284
@285
@285
@286
@286
@287
@287
@288
@288
@289
@289
Typedef
ECECSignatureSignatureFunct를 생성하세요.
WEAVE_ERROR(* GenerateECDSASignatureFunct)(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig)
로컬 Weave 노드의 비공개 키를 사용하여 ECDSA 서명을 생성합니다.
호출되었을 때 구현은 노드의 비공개 키를 사용하여 지정된 해시 값에 대한 서명을 계산해야 합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
변수
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 )
Weave 액세스 토큰을 읽고 액세스 토큰의 인증서를 포함하는 CASE 인증서 정보 TLV 구조를 만듭니다.
이 함수는 지정된 Weave 액세스 토큰을 디코딩하고 Weave CASE 인증서 정보 구조의 TLV를 인코딩합니다. CertificateInfo 구조 내의 EntityCertificate 필드는 액세스 토큰 인증서로 설정되고 RelatedCertificates 필드 (있는 경우)가 액세스 토큰 내의 해당 필드로 설정됩니다.
세부정보 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||
반환 값 |
|
CASECertInfoFromAccessToken
WEAVE_ERROR CASECertInfoFromAccessToken( TLVReader & reader, TLVWriter & writer )
Weave 액세스 토큰을 읽고 액세스 토큰의 인증서가 포함된 CASE 인증서 정보 TLV 구조를 작성합니다.
이 함수는 지정된 TLVReader에서 Weave 액세스 토큰을 읽고 Weave CASE 인증서 정보 구조의 TLV를 TLV 작성기에 작성합니다. CertificateInfo 구조 내의 EntityCertificate 필드는 액세스 토큰 인증서로 설정되고 RelatedCertificates 필드 (있는 경우)가 액세스 토큰 내의 해당 필드로 설정됩니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||
반환 값 |
|
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 )
ECDSASignature_DERToWeave 변환
WEAVE_ERROR ConvertECDSASignature_DERToWeave( const uint8_t *sigBuf, uint8_t sigLen, TLVWriter & writer, uint64_t tag )
전환 확장
WEAVE_ERROR ConvertExtension( ASN1Reader & reader, TLVWriter & writer )
전환 확장
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 )
X509CertToWeave 인증서 전환
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 )
디코딩 코드 인증서
WEAVE_ERROR DecodeConvertCert( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
디코드변환DN
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 )
DecodeCopyECDSASignature_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 )
DecodeWeaveECDSASignature
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 )
WeaveCertId 설명
const char * DescribeWeaveCertId( OID attrOID, uint64_t weaveCertId )
CertCertType
WEAVE_ERROR DetermineCertType( WeaveCertificateData & cert )
Weave 인증서의 일반적인 유형을 확인합니다.
이 함수는 대상 DN 및 제공된 확장 프로그램의 구조를 기반으로 인증서 유형의 일반적인 평가를 실행합니다. 애플리케이션은 cert.CertType을 다른 애플리케이션 값(애플리케이션 정의 값 포함)으로 설정하여 이 평가를 자유롭게 재정의할 수 있습니다.
일반적으로 애플리케이션은 신뢰할 수 있는 루트 인증서에 연결된 경우에만 피어의 인증서를 신뢰합니다. 하지만 인증서에 할당된 유형은 특정 기능의 액세스를 허용하거나 허용하지 않는 등의 신뢰할 수 있는 속성에 영향을 미칠 수 있습니다. 따라서 이 알고리즘을 변경하면 전체 시스템 보안에 유의미한 영향이나 심각한 영향이 발생할 수 있으며, 영향을 완전히 이해해야 합니다.
참고: 액세스 토큰 인증서는 구조만으로 구별할 수 없습니다. 따라서 이 함수는 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 )
Weave 액세스 토큰을 읽고 액세스 토큰 인증서를 추출합니다.
이 함수는 TLVReader에서 Weave 액세스 토큰을 읽고 지정된 TLVReader에 액세스 토큰 인증서를 작성합니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||
반환 값 |
|
ExtractPrivateKeyFromAccessToken
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *privKeyBuf, uint16_t privKeyBufSize, uint16_t & privKeyLen )
Weave 액세스 토큰을 읽고 비공개 키를 추출합니다.
이 함수는 지정된 Weave Access 토큰을 디코딩하고 토큰에서 비공개 키 필드를 추출합니다.
세부정보 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||
반환 값 |
|
ExtractPrivateKeyFromAccessToken
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( TLVReader & reader, TLVWriter & writer )
Weave 액세스 토큰을 읽고 비공개 키를 추출합니다.
이 함수는 지정된 Weave Access 토큰을 디코딩하고 토큰에서 비공개 키 필드를 추출합니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||
반환 값 |
|
GenerateAndEncodeWeaveECDSASignature
WEAVE_ERROR GenerateAndEncodeWeaveECDSASignature( TLVWriter & writer, uint64_t tag, const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *signingKey, uint16_t signingKeyLen )
Weave ECDSA 서명을 생성하고 인코딩합니다.
지정된 비공개 키 및 메시지 해시를 사용하여 ECDSA 서명을 계산하고 지정된 태그를 사용하여 지정된 TLV 작성자에 Weave ECDSASignature 구조로 서명을 작성합니다.
세부정보 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||||
반환 값 |
|
GenerateOperationDeviceDeviceCert
NL_DLL_EXPORT WEAVE_ERROR GenerateOperationalDeviceCert( uint64_t deviceId, EncodedECPublicKey & devicePubKey, uint8_t *cert, uint16_t certBufSize, uint16_t & certLen, GenerateECDSASignatureFunct genCertSignature )
Weave 운영 기기 인증서를 생성합니다.
이 함수는 Weave TLV 형식으로 인코딩된 Weave 자체 서명 운영 인증서를 생성합니다.
세부정보 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||||
반환 값 |
|
GetWeaveSignatureAlgo
WEAVE_ERROR GetWeaveSignatureAlgo( const uint8_t *sig, uint16_t sigLen, OID & sigAlgoOID )
들여쓰기
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 )
IsCurveInSet
bool IsCurveInSet( uint32_t curveId, uint8_t curveSet )
지원되는 지원되는 곡선
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 )
액세스 토큰의 인증서를 Weave 인증서 세트에 로드합니다.
이 함수는 지정된 Weave 액세스 토큰을 디코딩하고 액세스 토큰 인증서를 지정된 Weave 인증서 세트 객체에 로드합니다. 액세스 토큰에 1개 이상의 관련 인증서가 포함된 경우에도 해당 인증서가 인증서 세트에 로드됩니다.
세부정보 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||
반환 값 |
|
LoadAccessTokenCerts
WEAVE_ERROR LoadAccessTokenCerts( TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert )
액세스 토큰의 인증서를 Weave 인증서 세트에 로드합니다.
이 함수는 지정된 TLVReader에서 Weave 액세스 토큰을 읽고 지정된 Weave 인증서 세트 객체에 액세스 토큰 인증서를 로드합니다. 액세스 토큰에 1개 이상의 관련 인증서가 포함된 경우에도 해당 인증서가 인증서 세트에 로드됩니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||
반환 값 |
|
MakeDeviceCredentialHash 만들기
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 )
특정 Thermostat 기기 사용자 인증 정보 세트에 대해 인증 해시 (base-64 형식)를 생성합니다.
세부정보 | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||||||||
반환 값 |
|
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 )
특정 Weave 프로비저닝 정보 세트에 대한 인증 해시 (base-64 형식)를 생성합니다.
세부정보 | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||||||||||
반환 값 |
|
OIDToWeaveCurveId
uint32_t OIDToWeaveCurveId( ASN1::OID curveOID )
PackCertTime
NL_DLL_EXPORT WEAVE_ERROR PackCertTime( const ASN1UniversalTime & time, uint32_t & packedTime )
인증서 날짜/시간 (ASN.1 범용 시간 구조 형식)을 채워진 인증서 날짜/시간으로 변환합니다.
패킹된 인증서 날짜/시간은 전체 캘린더 계산을 해석할 필요가 없는 인증서 내의 시간 값 (notBefore 및 notAfter)을 간결하게 표시합니다.
가득 찬 인증서 날짜/시간에는 연도, 월, 일, 시간, 분, 초 없이 부호 없는 정수로 묶인 캘린더 날짜/시간의 필드가 포함됩니다. 비트 표현은 패킹된 날짜/시간 값의 서수 비교가 해당하는 시간의 자연스러운 순서와 일치하도록 구성됩니다. 크기를 줄이기 위해 가득 찬 인증서 날짜/시간은 2000/01/01 00:00:00 이후를 나타내는 시간으로 제한됩니다. 부호 없는 32비트 정수 내에 저장된 경우 인증서 날짜/시간은 최대 2133년까지의 시간을 나타낼 수 있습니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 값 |
|
PackedCertDateToTime
NL_DLL_EXPORT uint32_t PackedCertDateToTime( uint16_t packedDate )
입력된 인증서 날짜를 해당하는 인증서 날짜/시간으로 변환합니다. 여기서 값의 시간 부분이 00:00:00으로 설정됩니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
해당하는 패킷 인증서 날짜/시간입니다.
|
PackedCertTimeToDate
NL_DLL_EXPORT uint16_t PackedCertTimeToDate( uint32_t packedTime )
압축 인증서 날짜/시간을 압축 인증서 날짜로 변환합니다.
채워진 인증서 날짜에는 연도, 월, 부호 없는 정수로 묶은 필드 필드가 포함됩니다. 비트는 압축된 날짜 값의 서수 비교가 해당하는 날짜의 자연스러운 순서와 일치하도록 구성됩니다. 크기를 줄이기 위해 가득 찬 인증서 날짜는 2000년 1월 1일 또는 그 이후의 날짜로 제한됩니다. 부호 없는 16비트 정수 내에 저장된 경우 서명된 인증서 날짜는 2176년까지의 날짜를 나타낼 수 있습니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
해당하는 패킷 인증서 날짜입니다.
|
ParseWeaveIdAttribute
WEAVE_ERROR ParseWeaveIdAttribute( ASN1Reader & reader, uint64_t & weaveIdOut )
인쇄 인증
NL_DLL_EXPORT void PrintCert( FILE *out, const WeaveCertificateData & cert, const WeaveCertificateSet *certSet, uint16_t indent, bool verbose )
PrintCertArray
WEAVE_ERROR PrintCertArray( FILE *out, TLVReader & reader, uint16_t indent )
PrintCertReference
WEAVE_ERROR PrintCertReference( FILE *out, TLVReader & reader, uint16_t indent )
인쇄 인증 유형
void PrintCertType( FILE *out, uint8_t certType )
PrintCertValidationResults
NL_DLL_EXPORT void PrintCertValidationResults( FILE *out, const WeaveCertificateSet & certSet, const ValidationContext & validContext, uint16_t indent )
PrintECDSASignature
WEAVE_ERROR PrintECDSASignature( FILE *out, TLVReader & reader, uint16_t indent )
PrintHexField
void PrintHexField( FILE *out, const char *name, uint16_t indent, uint16_t count, const uint8_t *data )
인쇄 팩
void PrintPackedDate( FILE *out, uint16_t t )
PrintPackedTime
void PrintPackedTime( FILE *out, uint32_t t )
PrintWeaveDN : 인쇄판
void PrintWeaveDN( FILE *out, const WeaveDN & dn )
PrintWeaveDN : 인쇄판
WEAVE_ERROR PrintWeaveDN( FILE *out, TLVReader & reader )
PrintWeaveSignature
WEAVE_ERROR PrintWeaveSignature( FILE *out, TLVReader & reader, uint16_t indent )
SecondsthenEpochToPackedCertTime
NL_DLL_EXPORT uint32_t SecondsSinceEpochToPackedCertTime( uint32_t secondsSinceEpoch )
1970-01-01 00:00:00 UTC 이후의 초 수를 가득 찬 인증서 날짜/시간으로 변환합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
해당하는 패킷 인증서 날짜/시간입니다.
|
TranslateOpenSSLError
WEAVE_ERROR TranslateOpenSSLError( WEAVE_ERROR defaultErr )
UnpackCertTime
NL_DLL_EXPORT WEAVE_ERROR UnpackCertTime( uint32_t packedTime, ASN1UniversalTime & time )
압축 인증서 날짜/시간을 ASN.1 범용 시간 구조로 압축 해제합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 값 |
|
VerifyWeaveSignature
NL_DLL_EXPORT WEAVE_ERROR VerifyWeaveSignature( const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *sig, uint16_t sigLen, WeaveCertificateSet & certSet, ValidationContext & certValidContext )
VerifyWeaveSignature
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 )