nl:: Weave:: Profiles:: Security
เนมสเปซนี้มีอินเทอร์เฟซทั้งหมดภายใน Weave สำหรับโปรไฟล์ความปลอดภัยของ Weave
สรุป
การแจกแจง |
|
---|---|
@235
|
enum แฟล็กจุดประสงค์คีย์ใบรับรอง X.509 |
@236
|
enum แฟล็กการใช้คีย์ใบรับรอง X.509 |
@237
|
enum Weave Certificate Flag |
@238
|
enum แฟล็กการถอดรหัสใบรับรอง Weave |
@239
|
enum การตรวจสอบความถูกต้องของใบรับรอง Weave |
@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 สร้างลายเซ็น ECDSA โดยใช้คีย์ส่วนตัวของโหนด Weave ภายใน |
ตัวแปร |
|
---|---|
gProvisioningBundleKDFSalt = "Weave Provisioning Bundle v1"[]
|
const char
|
ฟังก์ชัน |
|
---|---|
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 Access Token และแยกใบรับรองโทเค็นเพื่อการเข้าถึง
|
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
สร้างแฮชการยืนยัน (ในรูปแบบเลขฐาน 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
สร้างแฮชการยืนยัน (ในรูปแบบ Base-64) สำหรับชุดข้อมูลการจัดสรร Weave ที่กำหนด
|
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:: |
มีฟังก์ชันการทำงานทั่วไปสำหรับการสร้าง WeaveSignatures |
เนมสเปซ |
|
---|---|
nl:: |
เนมสเปซนี้มีอินเทอร์เฟซทั้งหมดภายใน Weave สำหรับไลบรารีคีย์แอปพลิเคชัน Weave ภายในโปรไฟล์ความปลอดภัยของ Weave |
nl:: |
เนมสเปซนี้ประกอบด้วยอินเทอร์เฟซทั้งหมดภายใน Weave สำหรับโปรโตคอลการสร้างเซสชันที่ตรวจสอบสิทธิ์ตามใบรับรอง (CASE) ภายในโปรไฟล์ความปลอดภัยของ Weave |
nl:: |
เนมสเปซนี้ประกอบด้วยอินเทอร์เฟซทั้งหมดภายใน Weave สำหรับโปรโตคอลการจัดสรรใบรับรอง Weave ภายในโปรไฟล์ความปลอดภัยของ Weave |
nl:: |
เนมสเปซนี้มีอินเทอร์เฟซทั้งหมดภายใน Weave สำหรับโปรโตคอลการส่งออกคีย์ภายในโปรไฟล์ความปลอดภัยของ Weave |
nl:: |
เนมสเปซนี้ประกอบด้วยอินเทอร์เฟซทั้งหมดภายใน Weave สำหรับโปรโตคอลการสร้างเซสชันที่ตรวจสอบสิทธิ์ด้วยรหัสผ่าน (PASE) ภายในโปรไฟล์ความปลอดภัยของ Weave |
nl:: |
เนมสเปซนี้มีอินเทอร์เฟซทั้งหมดภายใน Weave สำหรับไลบรารีรหัสผ่านของ Weave ภายในโปรไฟล์ความปลอดภัยของ Weave |
nl:: |
เนมสเปซนี้ประกอบด้วยอินเทอร์เฟซทั้งหมดภายใน Weave สำหรับโปรโตคอล Token Authenticated Key Exchange (TAKE) ภายในโปรไฟล์ความปลอดภัยของ Weave |
การแจกแจง
@235
@235
แฟล็กจุดประสงค์คีย์ใบรับรอง X.509
@236
@236
แฟล็กการใช้คีย์ใบรับรอง X.509
@237
@237
Weave Certificate Flag
มีข้อมูลเกี่ยวกับใบรับรองที่โหลดลงในออบเจ็กต์ WeaveCertSet
@238
@238
แฟล็กการถอดรหัสใบรับรอง Weave
มีข้อมูลที่ระบุวิธีถอดรหัสใบรับรอง
@239
@239
การตรวจสอบความถูกต้องของใบรับรอง Weave
มีข้อมูลที่ระบุวิธีตรวจสอบใบรับรอง
@240
@240
@280
@280
@281
@281
@282
@282
@283
@283
@284
@284
@285
@285
@286
@286
@287
@287
@288
@288
@289
@289
Typedef
GenerateECDSASignatureFunct
WEAVE_ERROR(* GenerateECDSASignatureFunct)(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig)
สร้างลายเซ็น ECDSA โดยใช้คีย์ส่วนตัวของโหนด Weave ภายใน
เมื่อเรียกใช้ การติดตั้งใช้งานต้องคํานวณลายเซ็นในค่าแฮชที่ระบุโดยใช้คีย์ส่วนตัวของโหนด
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
แสดงผลค่า |
|
ตัวแปร
gProvisioningBundleKDFSalt
const char gProvisioningBundleKDFSalt[] = "Weave Provisioning Bundle v1"
ฟังก์ชัน
CASECertInfoFromAccessToken
WEAVE_ERROR CASECertInfoFromAccessToken( const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *certInfoBuf, uint16_t certInfoBufSize, uint16_t & certInfoLen )
อ่าน Weave Access Token และสร้างโครงสร้างข้อมูลใบรับรอง TLV CASE ที่มีใบรับรองจากโทเค็นเพื่อการเข้าถึง
ฟังก์ชันนี้จะถอดรหัส Weave Access Token ที่ระบุและเข้ารหัส TLV สำหรับโครงสร้างข้อมูลใบรับรอง Weave CASE ช่อง EntityCertificate ภายในโครงสร้าง CertificateInfo มีการตั้งค่าเป็นใบรับรองโทเค็นเพื่อการเข้าถึง และตั้งค่าช่อง relatedCertificates (หากมี) เป็นช่องที่สอดคล้องกันภายในโทเค็นเพื่อการเข้าถึง
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||
แสดงผลค่า |
|
CASECertInfoFromAccessToken
WEAVE_ERROR CASECertInfoFromAccessToken( TLVReader & reader, TLVWriter & writer )
อ่าน Weave Access Token และเขียนโครงสร้างข้อมูลใบรับรอง TLV CASE ที่มีใบรับรองจากโทเค็นเพื่อการเข้าถึง
ฟังก์ชันนี้จะอ่าน Weave Access Token จาก TLVReader ที่ระบุและเขียน TLV สำหรับโครงสร้างข้อมูลใบรับรอง Weave CASE ไปยัง TLVWriter ช่อง EntityCertificate ภายในโครงสร้าง CertificateInfo มีการตั้งค่าเป็นใบรับรองโทเค็นเพื่อการเข้าถึง และตั้งค่าช่อง 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 )
ConvertECDSASignature_DERToWeave
WEAVE_ERROR ConvertECDSASignature_DERToWeave( const uint8_t *sigBuf, uint8_t sigLen, TLVWriter & writer, uint64_t tag )
ConvertExtension
WEAVE_ERROR ConvertExtension( ASN1Reader & reader, TLVWriter & writer )
ConvertExtensions
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 )
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 )
DescribeWeaveCertId
const char * DescribeWeaveCertId( OID attrOID, uint64_t weaveCertId )
DetermineCertType
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 Access Token และแยกใบรับรองโทเค็นเพื่อการเข้าถึง
ฟังก์ชันนี้จะอ่าน Weave Access Token จาก TLVReader และเขียนใบรับรองโทเค็นเพื่อการเข้าถึงไปยัง TLVWriter ที่ระบุ
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||
แสดงผลค่า |
|
ExtractPrivateKeyFromAccessToken
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *privKeyBuf, uint16_t privKeyBufSize, uint16_t & privKeyLen )
อ่านโทเค็นเพื่อการเข้าถึงของ Weave และแยกคีย์ส่วนตัว
ฟังก์ชันนี้จะถอดรหัส Weave Access Token ที่ระบุและแยกช่องคีย์ส่วนตัวออกจากโทเค็น
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||
แสดงผลค่า |
|
ExtractPrivateKeyFromAccessToken
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( TLVReader & reader, TLVWriter & writer )
อ่านโทเค็นเพื่อการเข้าถึงของ Weave และแยกคีย์ส่วนตัว
ฟังก์ชันนี้จะถอดรหัส Weave Access Token ที่ระบุและแยกช่องคีย์ส่วนตัวออกจากโทเค็น
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||
แสดงผลค่า |
|
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 โดยใช้คีย์ส่วนตัวและแฮชข้อความที่ระบุ และเขียนลายเซ็นเป็นโครงสร้าง Weave ECDSASignature ในการเขียน TLV ที่ระบุพร้อมแท็กที่ระบุ
รายละเอียด | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||||
แสดงผลค่า |
|
GenerateOperationalDeviceCert
NL_DLL_EXPORT WEAVE_ERROR GenerateOperationalDeviceCert( uint64_t deviceId, EncodedECPublicKey & devicePubKey, uint8_t *cert, uint16_t certBufSize, uint16_t & certLen, GenerateECDSASignatureFunct genCertSignature )
สร้างใบรับรองอุปกรณ์ที่ใช้งานได้ของ Weave
ฟังก์ชันนี้จะสร้างใบรับรองการดำเนินการแบบ Self-signed ของ Weave ซึ่งเข้ารหัสในรูปแบบ Weave TLV
รายละเอียด | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||||
แสดงผลค่า |
|
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 )
IsSupportedCurve
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
ฟังก์ชันนี้จะอ่านโทเค็นเพื่อการเข้าถึงของ Weave จาก TLVReader ที่ระบุและโหลดใบรับรองโทเค็นเพื่อการเข้าถึงลงในออบเจ็กต์ชุดใบรับรอง 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 )
สร้างแฮชการยืนยัน (ในรูปแบบเลขฐาน 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 )
สร้างแฮชการยืนยัน (ในรูปแบบ Base-64) สำหรับชุดข้อมูลการจัดสรร Weave ที่กำหนด
รายละเอียด | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||||||||||
แสดงผลค่า |
|
รหัส OIDToWeaveCurve
uint32_t OIDToWeaveCurveId( ASN1::OID curveOID )
PackCertTime
NL_DLL_EXPORT WEAVE_ERROR PackCertTime( const ASN1UniversalTime & time, uint32_t & packedTime )
แปลงวันที่/เวลาของใบรับรอง (ในรูปแบบโครงสร้างเวลาสากลของ ASN.1) เป็นวันที่/เวลาที่บรรจุใบรับรองแล้ว
วันที่/เวลาของใบรับรองที่แพ็กไว้จะแสดงค่าเวลาในใบรับรองแบบกะทัดรัด (notBefore และ notAfter) ซึ่งไม่จำเป็นต้องตีความทางคณิตศาสตร์แบบเต็มในปฏิทิน
วันที่/เวลาของใบรับรองที่แพ็คมีช่องข้อมูลวันที่/เวลาในปฏิทิน ได้แก่ ปี เดือน วัน ชั่วโมง นาที ที่สองที่แพ็คลงในจำนวนเต็มที่ไม่มีการลงชื่อ การแสดงบิตมีการจัดระเบียบเพื่อให้การเปรียบเทียบตามลำดับของค่าวันที่/เวลาที่แพ็คสอดคล้องกับลำดับทั่วไปของเวลาที่เกี่ยวข้อง เพื่อลดขนาด ระบบจะจำกัดวันที่/เวลาของใบรับรองที่แพ็คไว้ให้แสดงในวันที่ 01/01/2000 เวลา 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 )
แปลงวันที่/เวลาที่แพ็คของใบรับรองเป็นวันที่ของใบรับรองที่แพ็คแล้ว
วันที่ของใบรับรองที่แพ็คมีช่องข้อมูลของปีปฏิทิน เดือน วัน ที่รวมไว้ในจำนวนเต็มที่ไม่มีการลงชื่อ โดยจะมีการจัดระเบียบบิตเหล่านั้นเพื่อให้การเปรียบเทียบลำดับค่าวันที่แพคตามลําดับจะสอดคล้องกับลําดับปกติของวันที่ที่เกี่ยวข้อง หากต้องการลดขนาด ระบบจำกัดวันที่ของใบรับรองที่แพ็คไว้ให้แสดงวันที่ในวันที่ 01/01/2000 หรือหลังจากนั้น เมื่อเก็บรักษาไว้ภายในจำนวนเต็มที่ไม่มีการลงชื่อ 16 บิต วันที่ของใบรับรองที่แพ็คสามารถแสดงวันที่ได้ถึงปี 2176
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การส่งคืน |
วันที่ในใบรับรองแพ็กเก็ตที่เกี่ยวข้อง
|
ParseWeaveIdAttribute
WEAVE_ERROR ParseWeaveIdAttribute( ASN1Reader & reader, uint64_t & weaveIdOut )
PrintCert
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 )
PrintCertType
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 )
PrintPackedDate
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 )
SecondsSinceEpochToPackedCertTime
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 )