nl:: Weave:: โปรไฟล์:: ความปลอดภัย
เนมสเปซนี้ประกอบด้วยอินเทอร์เฟซทั้งหมดภายใน Weave สําหรับโปรไฟล์ Security ของ Weave
สรุป
การแจกแจง |
|
---|---|
@235
|
enum แฟล็กวัตถุประสงค์ของคีย์ใบรับรอง X.509 |
@236
|
enum ธงการใช้งานคีย์ใบรับรอง X.509 |
@237
|
enum ติดธงใบรับรอง Weave |
@238
|
enum ธงการถอดรหัสใบรับรอง Weave |
@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 |
ประเภทคําจํากัดความ |
|
---|---|
GenerateECDSASignatureFunct)(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig)
|
Typedef สร้างลายเซ็น ECDSA โดยใช้คีย์ส่วนตัว Weave โหนดท้องถิ่น ##39 |
ตัวแปร |
|
---|---|
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 และแยกใบรับรองโทเค็นการเข้าถึง
|
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
สร้างแฮชการยืนยัน (ในรูปแบบ Base64) สําหรับข้อมูลรับรองอุปกรณ์ตัวควบคุมอุณหภูมิชุดหนึ่ง
|
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
สร้างแฮชการยืนยัน (ในรูปแบบ Base64) สําหรับชุดข้อมูลการจัดสรร 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:: |
สร้างลายเซ็น Weave โดยใช้คีย์ส่วนตัวในหน่วยความจํา |
nl:: |
ให้ฟังก์ชันการทํางานทั่วไปสําหรับการสร้าง WeaveSignatures |
เนมสเปซ |
|
---|---|
nl:: |
เนมสเปซนี้รวมอินเทอร์เฟซทั้งหมดภายใน Weave สําหรับไลบรารีคีย์แอปพลิเคชัน Weave ภายในโปรไฟล์การรักษาความปลอดภัย Weave |
nl:: |
เนมสเปซนี้ประกอบด้วยอินเทอร์เฟซทั้งหมดภายใน Weave สําหรับโปรโตคอลการตรวจสอบสิทธิ์เซสชันใบรับรองที่ตรวจสอบสิทธิ์ (CASE) ภายในโปรไฟล์ความปลอดภัยของ Weave |
nl:: |
เนมสเปซนี้รวมถึงอินเทอร์เฟซทั้งหมดใน Weave สําหรับโปรโตคอลการจัดสรรใบรับรอง Weave ภายในโปรไฟล์ความปลอดภัยของ Weave |
nl:: |
เนมสเปซนี้รวมอินเทอร์เฟซทั้งหมดภายใน Weave สําหรับโปรโตคอลการส่งออกคีย์ภายในโปรไฟล์ความปลอดภัยของ Weave |
nl:: |
เนมสเปซนี้รวมถึงอินเทอร์เฟซทั้งหมดภายใน Weave สําหรับโปรโตคอล Password-การชมเซสชันที่ตรวจสอบสิทธิ์แล้ว (PASE) ภายในโปรไฟล์ความปลอดภัยของ Weave |
nl:: |
เนมสเปซนี้รวมอินเทอร์เฟซทั้งหมดภายใน Weave สําหรับไลบรารีรหัสผ่าน Weave ภายในโปรไฟล์การรักษาความปลอดภัย Weave |
nl:: |
เนมสเปซนี้ประกอบด้วยอินเทอร์เฟซทั้งหมดภายใน Weave สําหรับโปรโตคอล Token Authenticationd Key Exchange (TAKE) ภายในโปรไฟล์ Security ของ Weave |
การแจกแจง
235
@235
แฟล็กวัตถุประสงค์ของคีย์ใบรับรอง X.509
236
@236
ธงการใช้งานคีย์ใบรับรอง X.509
237
@237
ติดธงใบรับรอง Weave
มีข้อมูลเกี่ยวกับใบรับรองที่โหลดในออบเจ็กต์ WeaveCertSet
238
@238
ธงการถอดรหัสใบรับรอง Weave
มีข้อมูลที่ระบุวิธีถอดรหัสใบรับรอง
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
ประเภทคําจํากัดความ
GenerateECDSASignatureFunct
WEAVE_ERROR(* GenerateECDSASignatureFunct)(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig)
สร้างลายเซ็น ECDSA โดยใช้คีย์ส่วนตัว Weave โหนดท้องถิ่น ##39
เมื่อเรียกใช้ การใช้งานจะต้องคํานวณลายเซ็นในค่าแฮชที่กําหนดโดยใช้คีย์ส่วนตัวของโหนด'
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
แสดงผลค่า |
|
ตัวแปร
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 และสร้างโครงสร้างข้อมูล CASE แบบใบรับรอง TLV ที่มีใบรับรองจากโทเค็นเพื่อการเข้าถึง
โดยฟังก์ชันนี้จะถอดรหัสโทเค็นเพื่อการเข้าถึงของ Weave และเข้ารหัส TLV สําหรับโครงสร้างข้อมูลใบรับรอง CASE ของ Weave ช่อง EntityCertificate ภายในโครงสร้าง CertificateInfo มีการตั้งค่าเป็นใบรับรองโทเค็นเพื่อการเข้าถึง และตั้งค่าช่อง CertificateCertificates (หากมี) เป็นช่องที่เกี่ยวข้องภายในโทเค็นเพื่อการเข้าถึง
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||
แสดงผลค่า |
|
CASECertInfoFromAccessToken
WEAVE_ERROR CASECertInfoFromAccessToken( TLVReader & reader, TLVWriter & writer )
อ่านโทเค็นเพื่อการเข้าถึงของ Weave และเขียนโครงสร้างข้อมูล CASE CertificateTLV ที่มีใบรับรองจากโทเค็นเพื่อการเข้าถึง
โดยฟังก์ชันนี้จะอ่านโทเค็นเพื่อการเข้าถึงของ Weave จาก TLVReader ที่ระบุ และเขียน TLV สําหรับโครงสร้างข้อมูลใบรับรอง CASE ของ Weave ไปยัง TLVWriter ช่อง EntityCertificate ภายในโครงสร้าง CertificateInfo มีการตั้งค่าเป็นใบรับรองโทเค็นเพื่อการเข้าถึง และตั้งค่าช่อง CertificateCertificates (หากมี) เป็นช่องที่เกี่ยวข้องภายในโทเค็นเพื่อการเข้าถึง
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||
แสดงผลค่า |
|
ตัวแปลงคีย์ตัวแปลง
WEAVE_ERROR ConvertAuthorityKeyIdentifierExtension( ASN1Reader & reader, TLVWriter & writer )
แปลงใบรับรอง
WEAVE_ERROR ConvertCertificate( ASN1Reader & reader, TLVWriter & writer )
ชื่อที่แปลงแล้ว
WEAVE_ERROR ConvertDistinguishedName( ASN1Reader & reader, TLVWriter & writer, uint64_t tag )
แปลงเป็นลายเซ็น DSAEC
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 )
แปลงPublicPublicKeyInfo
WEAVE_ERROR ConvertSubjectPublicKeyInfo( ASN1Reader & reader, TLVWriter & writer )
ความถูกต้องของ Conversion
WEAVE_ERROR ConvertValidity( ASN1Reader & reader, TLVWriter & writer )
แปลง WeaveCertToX509Cert
WEAVE_ERROR ConvertWeaveCertToX509Cert( const uint8_t *weaveCert, uint32_t weaveCertLen, uint8_t *x509CertBuf, uint32_t x509CertBufSize, uint32_t & x509CertLen )
แปลงX509CertToWeaveCert
WEAVE_ERROR ConvertX509CertToWeaveCert( const uint8_t *x509Cert, uint32_t x509CertLen, uint8_t *weaveCertBuf, uint32_t weaveCertBufSize, uint32_t & weaveCertLen )
ตัวแปลงคีย์ตัวถอดรหัส DecodeConvertAuthority
WEAVE_ERROR DecodeConvertAuthorityKeyIdentifierExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
ส่วนขยายที่แปลงรหัสพื้นฐาน
WEAVE_ERROR DecodeConvertBasicConstraintsExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
ถอดรหัสตัวแปลง
WEAVE_ERROR DecodeConvertCert( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
ยกเลิกการแปลงรหัส
WEAVE_ERROR DecodeConvertDN( TLVReader & reader, ASN1Writer & writer, WeaveDN & dn )
ลายเซ็น DecodeConvertECDSA
WEAVE_ERROR DecodeConvertECDSASignature( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
ถอดรหัสตัวแปลงคีย์การใช้งานแบบขยาย
WEAVE_ERROR DecodeConvertExtendedKeyUsageExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
ส่วนขยายที่แปลงโค้ดแล้ว
WEAVE_ERROR DecodeConvertExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
ถอดรหัสตัวแปลงรหัส
WEAVE_ERROR DecodeConvertExtensions( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
ถอดรหัสตัวแปลงคีย์
WEAVE_ERROR DecodeConvertKeyUsageExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
ลายเซ็น DecodeConvertRSA
WEAVE_ERROR DecodeConvertRSASignature( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
ตัวแปลงรหัสคีย์ตัวแปลง
WEAVE_ERROR DecodeConvertSubjectKeyIdentifierExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
ยกเลิกการแปลงรหัสสาธารณะของคีย์
WEAVE_ERROR DecodeConvertSubjectPublicKeyInfo( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
ถอดรหัสตัวแปลงTBTB
WEAVE_ERROR DecodeConvertTBSCert( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
ความถูกต้องของการถอดรหัสโค้ด
WEAVE_ERROR DecodeConvertValidity( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
คําอธิบายลายเซ็นอิเล็กทรอนิกส์
WEAVE_ERROR DecodeCopyECDSASignature_DER( const uint8_t *sigBuf, uint8_t sigLen, EncodedECDSASignature & sig )
การรับรอง WeaveCert
WEAVE_ERROR DecodeWeaveCert( const uint8_t *weaveCert, uint32_t weaveCertLen, WeaveCertificateData & certData )
การรับรอง WeaveCert
WEAVE_ERROR DecodeWeaveCert( TLVReader & reader, WeaveCertificateData & certData )
การถอดรหัส WeaveDN
WEAVE_ERROR DecodeWeaveDN( TLVReader & reader, WeaveDN & dn )
ลายเซ็น DecodeWeaveECDSA
WEAVE_ERROR DecodeWeaveECDSASignature( TLVReader & reader, EncodedECDSASignature & sig )
คีย์การเข้ารหัสของ WeaveEC
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 )
กําหนดประเภทใบรับรอง
WEAVE_ERROR DetermineCertType( WeaveCertificateData & cert )
ระบุประเภททั่วไปของใบรับรอง Weave
ฟังก์ชันนี้จะทําการประเมินทั่วไปของประเภทใบรับรองตามโครงสร้างของ DN เรื่อง และส่วนขยายที่มี แอปพลิเคชันจะลบล้างการลบล้างการประเมินนี้ได้โดยการตั้งค่า cert.CertType เป็นค่าอื่น รวมถึงค่าที่แอปพลิเคชันกําหนด
โดยทั่วไปแล้ว แอปพลิเคชันจะเชื่อถือใบรับรองการเพียร์หากเชนกับใบรับรองรูทที่เชื่อถือได้เท่านั้น แต่ประเภทที่กําหนดให้กับใบรับรองอาจส่งผลต่อธรรมชาติของความน่าเชื่อถือนี้ เช่น อนุญาตหรือบล็อกการเข้าถึงฟีเจอร์บางอย่าง ด้วยเหตุนี้ การเปลี่ยนแปลงอัลกอริทึมนี้จึงอาจส่งผลกระทบอย่างมากต่อ CATSTRIPHIC และผลกระทบต่อระบบโดยรวมอย่างมาก และไม่ควรทําความเข้าใจถึงผลที่จะเกิดขึ้นอย่างละเอียด
หมายเหตุ: ใบรับรองโทเค็นเพื่อการเข้าถึงจะแยกแยะได้จากโครงสร้างของใบรับรองเพียงอย่างเดียว ดังนั้นฟังก์ชันนี้จึงไม่ตั้งค่า cert.CertType = kCertType_AccessToken
ลายเซ็น EncodeWeaveECDSA
WEAVE_ERROR EncodeWeaveECDSASignature( TLVWriter & writer, EncodedECDSASignature & sig, uint64_t tag )
คีย์การเข้ารหัส EnaWeECEC
NL_DLL_EXPORT WEAVE_ERROR EncodeWeaveECPrivateKey( uint32_t weaveCurveId, const EncodedECPublicKey *pubKey, const EncodedECPrivateKey & privKey, uint8_t *outBuf, uint32_t outBufSize, uint32_t & outLen )
ดึง CertCertFromAccessToken
WEAVE_ERROR ExtractCertFromAccessToken( TLVReader & reader, TLVWriter & writer, uint64_t tag )
อ่านโทเค็นเพื่อการเข้าถึงของ Weave และแยกใบรับรองโทเค็นการเข้าถึง
ฟังก์ชันนี้จะอ่านโทเค็นเพื่อการเข้าถึงของ Weave จาก TLVReader และเขียนใบรับรองโทเค็นการเข้าถึงไปยัง TLVWriter ที่ระบุ
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||
แสดงผลค่า |
|
ดึง คีย์ส่วนตัวจากโทเค็นการเข้าถึง
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *privKeyBuf, uint16_t privKeyBufSize, uint16_t & privKeyLen )
อ่านโทเค็นเพื่อการเข้าถึงของ Weave และดึงคีย์ส่วนตัว
โดยฟังก์ชันนี้ถอดรหัสโทเค็นการเข้าถึงของ Weave และแยกช่องคีย์ส่วนตัวออกจากโทเค็น
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||
แสดงผลค่า |
|
ดึง คีย์ส่วนตัวจากโทเค็นการเข้าถึง
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( TLVReader & reader, TLVWriter & writer )
อ่านโทเค็นเพื่อการเข้าถึงของ Weave และดึงคีย์ส่วนตัว
โดยฟังก์ชันนี้ถอดรหัสโทเค็นการเข้าถึงของ Weave และแยกช่องคีย์ส่วนตัวออกจากโทเค็น
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||
แสดงผลค่า |
|
SignatureAndEncodeWeaveECDSASignature
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 ECDSA ของลายเซ็นที่เขียนไปยัง 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
โดยฟังก์ชันนี้จะสร้างใบรับรองการดําเนินงานแบบลงนามด้วยตนเองของ Weave ที่เข้ารหัสในรูปแบบ Weave TLV
รายละเอียด | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||||
แสดงผลค่า |
|
รับ WeaveSignatureAlgo
WEAVE_ERROR GetWeaveSignatureAlgo( const uint8_t *sig, uint16_t sigLen, OID & sigAlgoOID )
เยื้อง
void Indent( FILE *out, uint16_t count )
แทรก CertificateCertificatesIntoWeaveSignature
WEAVE_ERROR InsertRelatedCertificatesIntoWeaveSignature( uint8_t *sigBuf, uint16_t sigLen, uint16_t sigBufLen, const uint8_t *relatedCerts, uint16_t relatedCertsLen, uint16_t & outSigLen )
แท็กส่วนขยายใบรับรอง
bool IsCertificateExtensionTag( uint64_t tag )
ชุดตามมาตรฐาน
bool IsCurveInSet( uint32_t curveId, uint8_t curveSet )
รองรับเส้นโค้ง
bool IsSupportedCurve( uint32_t curveId )
เวอร์ชัน WeaveIdX509 Attr
bool IsWeaveIdX509Attr( OID oid )
WeaveX509Attr
bool IsWeaveX509Attr( OID oid )
CertTokenTokenCerts ในการโหลด
WEAVE_ERROR LoadAccessTokenCerts( const uint8_t *accessToken, uint32_t accessTokenLen, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert )
โหลดใบรับรองในโทเค็นเพื่อการเข้าถึงลงในชุดใบรับรอง Weave
ฟังก์ชันนี้ถอดรหัสโทเค็นเพื่อการเข้าถึงของ Weave และโหลดใบรับรองโทเค็นเพื่อการเข้าถึงไว้ในออบเจ็กต์ชุดใบรับรอง Weave ที่ระบุ หากโทเค็นเพื่อการเข้าถึงมีใบรับรองที่เกี่ยวข้องอย่างน้อย 1 รายการ ระบบจะโหลดโทเค็นดังกล่าวลงในชุดใบรับรองด้วย
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||
แสดงผลค่า |
|
CertTokenTokenCerts ในการโหลด
WEAVE_ERROR LoadAccessTokenCerts( TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert )
โหลดใบรับรองในโทเค็นเพื่อการเข้าถึงลงในชุดใบรับรอง Weave
ฟังก์ชันนี้จะอ่านโทเค็นเพื่อการเข้าถึงของ Weave จาก TLVReader และโหลดใบรับรองโทเค็นเพื่อการเข้าถึงลงในออบเจ็กต์ชุดใบรับรอง Weave ที่ระบุ หากโทเค็นเพื่อการเข้าถึงมีใบรับรองที่เกี่ยวข้องอย่างน้อย 1 รายการ ระบบจะโหลดโทเค็นดังกล่าวลงในชุดใบรับรองด้วย
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||
แสดงผลค่า |
|
ทํา DeviceCredentialHash
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 )
สร้างแฮชการยืนยัน (ในรูปแบบ Base64) สําหรับข้อมูลรับรองอุปกรณ์ตัวควบคุมอุณหภูมิชุดหนึ่ง
รายละเอียด | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||||||||
แสดงผลค่า |
|
ด้ามจัดสรร
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 )
สร้างแฮชการยืนยัน (ในรูปแบบ Base64) สําหรับชุดข้อมูลการจัดสรร Weave ที่ระบุ
รายละเอียด | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||||||||||
แสดงผลค่า |
|
รหัส OIDToWeave CurveId
uint32_t OIDToWeaveCurveId( ASN1::OID curveOID )
PackCertTime
NL_DLL_EXPORT WEAVE_ERROR PackCertTime( const ASN1UniversalTime & time, uint32_t & packedTime )
แปลงวันที่/เวลาของใบรับรอง (ในรูปแบบโครงสร้างเวลาสากลของ ASN.1) เป็นวันที่/เวลาใบรับรอง
วันที่/เวลาของใบรับรองที่รวมไว้จะแสดงค่าขนาดกะทัดรัดสําหรับค่าเวลาภายในใบรับรอง (notBefore และ notAfter) โดยไม่ต้องมีการคํานวณปฏิทินแบบเต็มในการตีความ
วันที่/เวลาของใบรับรองที่แพ็กไว้จะมีช่องวันที่/เวลาในปฏิทิน เช่น ปี เดือน วัน ชั่วโมง นาที ที่ 2 บรรจุเป็นจํานวนเต็มที่ไม่มีเครื่องหมาย การแสดงบิตจะจัดระเบียบเพื่อให้การเปรียบเทียบตามลําดับเวลาของค่าวันที่/เวลาตรงกับเวลาที่เรียงลําดับตามธรรมชาติ หากต้องการลดขนาดลง วันที่/เวลาของใบรับรองที่บรรจุจะถูกจํากัดให้เป็นเวลาที่แสดงในวันที่ หรือหลังจากวันที่ 01/01/2000 00:00:00 เมื่ออยู่ภายในจํานวนเต็มที่ไม่มีเครื่องหมาย 32 บิต วันที่/เวลาของใบรับรองที่บรรจุไว้อาจแสดงเวลาจนถึงปี 2133 ได้
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
แสดงผลค่า |
|
แพ็กวันที่รับรอง
NL_DLL_EXPORT uint32_t PackedCertDateToTime( uint16_t packedDate )
แปลงวันที่ของใบรับรองที่บรรจุให้เป็นวันที่/เวลาของใบรับรองที่บรรจุในนั้น โดยที่ส่วนเวลาของค่าถูกตั้งค่าเป็น 00:00:00
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การคืนสินค้า |
วันที่/เวลาของใบรับรองแพ็กเก็ตที่เกี่ยวข้อง
|
วันที่รับรองแบบบรรจุหีบห่อ
NL_DLL_EXPORT uint16_t PackedCertTimeToDate( uint32_t packedTime )
แปลงวันที่/เวลาของใบรับรองที่บรรจุให้เป็นวันที่ของใบรับรองที่บรรจุไว้
วันที่ของใบรับรองที่แพ็กไว้จะมีช่องของวันตามปฏิทิน เดือน วันที่บรรจุวันที่เป็นจํานวนเต็มที่ไม่มีเครื่องหมาย บิตจะจัดระเบียบเพื่อให้การเปรียบเทียบวันที่ของค่าที่บรรจุแบบธรรมดาตรงกับลําดับตามธรรมชาติของวันที่ที่สอดคล้องกัน หากต้องการลดขนาดลง วันที่ของใบรับรองที่รวมไว้จะจํากัดเฉพาะในวันที่ 2000/01/2000 หรือหลังจากนั้น เมื่ออยู่ภายในจํานวนเต็ม 16 บิตที่ไม่มีเครื่องหมาย วันที่ของใบรับรองที่แพ็คข้อมูลอาจแสดงวันที่จนถึงปี 2176
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การคืนสินค้า |
วันที่ของใบรับรองแพ็กเก็ตที่เกี่ยวข้อง
|
แอตทริบิวต์ ParseWeaveId
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 )
การอ้างอิงฉบับพิมพ์
WEAVE_ERROR PrintCertReference( FILE *out, TLVReader & reader, uint16_t indent )
ประเภทใบรับรอง
void PrintCertType( FILE *out, uint8_t certType )
พิมพ์ผลลัพธ์ที่ได้รับการรับรอง
NL_DLL_EXPORT void PrintCertValidationResults( FILE *out, const WeaveCertificateSet & certSet, const ValidationContext & validContext, uint16_t indent )
ลายเซ็น PrintECDSA
WEAVE_ERROR PrintECDSASignature( FILE *out, TLVReader & reader, uint16_t indent )
พิมพ์ HexField
void 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 )
พิมพ์ WeaveDN
void PrintWeaveDN( FILE *out, const WeaveDN & dn )
พิมพ์ WeaveDN
WEAVE_ERROR PrintWeaveDN( FILE *out, TLVReader & reader )
ลายเซ็นของ Weave
WEAVE_ERROR PrintWeaveSignature( FILE *out, TLVReader & reader, uint16_t indent )
วินาทีนับจาก EpochToPackedCertTime
NL_DLL_EXPORT uint32_t SecondsSinceEpochToPackedCertTime( uint32_t secondsSinceEpoch )
แปลงจํานวนวินาทีนับตั้งแต่ 1970-01-01 00:00:00 UTC เป็นวันที่/เวลาของใบรับรองที่แพ็กไว้
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การคืนสินค้า |
วันที่/เวลาของใบรับรองแพ็กเก็ตที่เกี่ยวข้อง
|
ข้อผิดพลาดของ OpenOpenSSL
WEAVE_ERROR TranslateOpenSSLError( WEAVE_ERROR defaultErr )
ยกเลิก PackCertTime
NL_DLL_EXPORT WEAVE_ERROR UnpackCertTime( uint32_t packedTime, ASN1UniversalTime & time )
บรรจุวันที่/เวลาของใบรับรองที่บรรจุในโครงสร้างเวลาสากล ASN.1
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
แสดงผลค่า |
|
ยืนยันลายเซ็น Weave
NL_DLL_EXPORT WEAVE_ERROR VerifyWeaveSignature( const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *sig, uint16_t sigLen, WeaveCertificateSet & certSet, ValidationContext & certValidContext )
ยืนยันลายเซ็น Weave
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 )