nl:: Weave:: Profiles:: Security
מרחב השמות הזה כולל את כל הממשקים ב-Weave עבור פרופיל Security של Weave.
סיכום
ספירות |
|
---|---|
@235
|
טיפוסים בני מנייה (enum) דגלי מטרה של מפתח אישור X.509. |
@236
|
טיפוסים בני מנייה (enum) התרעות לגבי שימוש במפתח אישור X.509. |
@237
|
טיפוסים בני מנייה (enum) התרעות לגבי אישורים |
@238
|
טיפוסים בני מנייה (enum) שירה דגלי פענוח אישורים. |
@239
|
טיפוסים בני מנייה (enum) שוורים סימונים לאימות אישורים. |
@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 מקומי. |
משתנים |
|
---|---|
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 Access ושולף את המפתח הפרטי.
|
ExtractPrivateKeyFromAccessToken(TLVReader & reader, TLVWriter & writer)
|
קורא אסימון גישה ל-Weave Access ושולף את המפתח הפרטי.
|
GenerateAndEncodeWeaveECDSASignature(TLVWriter & writer, uint64_t tag, const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *signingKey, uint16_t signingKeyLen)
|
יצירה וקידוד של חתימת ECDSA ב-Weave.
|
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
ליצור גיבוב (hash) לאימות (בפורמט 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
ליצור גיבוב (hash) לאימות (בפורמט 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 לפרוטוקול 'Certificate Verified Session Association' (CASE) בפרופיל האבטחה של Weave. |
nl:: |
מרחב השמות הזה כולל את כל הממשקים ב-Weave עבור פרוטוקול הקצאת אישורים של Weave בפרופיל האבטחה של Weave. |
nl:: |
מרחב השמות הזה כולל את כל הממשקים ב-Weave לפרוטוקול הייצוא של מפתחות בפרופיל האבטחה של Weave. |
nl:: |
מרחב השמות הזה כולל את כל הממשקים ב-Weave לפרוטוקול שמירה על אימות סיסמה (PASE) בתוך פרופיל האבטחה ב-Weave. |
nl:: |
מרחב השמות הזה כולל את כל הממשקים ב-Weave לספריית קודי הגישה של Weave בפרופיל האבטחה של Weave. |
nl:: |
מרחב השמות הזה כולל את כל הממשקים ב-Weave לפרוטוקול Token Authenticated Key Exchange (העברה) בפרופיל האבטחה של Weave. |
ספירות
@235
@235
דגלי מטרה של מפתח אישור X.509.
236@
@236
התרעות לגבי שימוש במפתח אישור X.509.
@237
@237
התרעות לגבי אישורים
מכילה מידע על אישור שנטען לאובייקט WeaveCertSet.
@238
@238
שירה דגלי פענוח אישורים.
מכילה מידע שמציין את אופן פענוח האישור.
@239
@239
שוורים סימונים לאימות אישורים.
מכילה מידע שמציין את אופן האימות של אישור.
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 מקומי.
בזמן ההפעלה, יישומים צריכים לחשב חתימה בערך הגיבוב הנתון באמצעות המפתח הפרטי של הצומת.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
ערכים מוחזרים |
|
משתנים
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 ויוצר מבנה TLV של פרטי אישור CASE שמכיל את האישורים מאסימון הגישה.
הפונקציה הזו מפענחת אסימון גישה נתון ל-Weave, ומקודדת את TLV עבור מבנה פרטי אישור CASE. השדה EntityCertificate במבנה CertificateInfo מוגדר לאישור של אסימון הגישה, והשדה relatedCertificates (אם קיים) מוגדר לשדה המתאים באסימון הגישה.
פרטים | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||
ערכים מוחזרים |
|
CASECertInfoFromAccessToken
WEAVE_ERROR CASECertInfoFromAccessToken( TLVReader & reader, TLVWriter & writer )
קורא אסימון גישה ל-Weave וכותב מבנה TLV של פרטי אישור CASE שמכיל את האישורים מאסימון הגישה.
הפונקציה הזו קוראת אסימון גישה ל-Weave מ-TLVReader נתון וכותבת ל-TLVWriter את ה-TLV של מבנה פרטי אישור CASE Weave. השדה 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 גישה ומחלץ את האישור של אסימון הגישה.
הפונקציה הזו קוראת אסימון גישה ל-Weave מ-TLVReader וכותבת את אישור אסימון הגישה ל-TLVWriter שצוין.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||
ערכים מוחזרים |
|
ExtractPrivateKeyFromAccessToken
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *privKeyBuf, uint16_t privKeyBufSize, uint16_t & privKeyLen )
קורא אסימון גישה ל-Weave Access ושולף את המפתח הפרטי.
הפונקציה הזו מפענחת אסימון גישה מסוים ל-Weave Access ושולפת את שדה המפתח הפרטי מהאסימון.
פרטים | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||
ערכים מוחזרים |
|
ExtractPrivateKeyFromAccessToken
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( TLVReader & reader, TLVWriter & writer )
קורא אסימון גישה ל-Weave Access ושולף את המפתח הפרטי.
הפונקציה הזו מפענחת אסימון גישה מסוים ל-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 )
יצירה וקידוד של חתימת ECDSA ב-Weave.
הפונקציה מחשבת חתימת ECDSA באמצעות מפתח פרטי וגיבוב (hash) ספציפיים של הודעה, וכותבת את החתימה כמבנה של 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.
הפונקציה יוצרת אישור תפעולי בחתימה עצמית של 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 )
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 שצוין. אם אסימוני הגישה מכילים אישור קשור אחד או יותר, גם הם ייטענו לקבוצת האישורים.
פרטים | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||
ערכים מוחזרים |
|
LoadAccessTokenCerts
WEAVE_ERROR LoadAccessTokenCerts( TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert )
צריך לטעון את האישורים באסימון גישה לקבוצת אישורים של Weave.
הפונקציה הזו קוראת אסימון גישה ל-Weave מ-TLVReader נתון וטוענת את האישורים של אסימון הגישה לאובייקט שהוגדר לקבוצת אישורי Weave. אם אסימוני הגישה מכילים אישור קשור אחד או יותר, גם הם ייטענו לקבוצת האישורים.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||
ערכים מוחזרים |
|
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 )
ליצור גיבוב (hash) לאימות (בפורמט 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 )
ליצור גיבוב (hash) לאימות (בפורמט base-64) לקבוצה נתונה של פרטי הקצאת Weave.
פרטים | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||||||||||
ערכים מוחזרים |
|
מזהה OIDToWeaveCurveId
uint32_t OIDToWeaveCurveId( ASN1::OID curveOID )
PackCertTime
NL_DLL_EXPORT WEAVE_ERROR PackCertTime( const ASN1UniversalTime & time, uint32_t & packedTime )
ממירים תאריך/שעה של אישור (בצורת מבנה זמן אוניברסלי ASN.1) לתאריך/שעה של אישור דחוס.
התאריכים והשעות של האישורים הארוזים מספקים ייצוג קומפקטי של ערכי הזמן בתוך אישור (notBefore ו-notAfter) שאינו דורש פענוח מתמטי מלא של היומן.
התאריך/השעה של האישור הארוז מכיל את השדות של תאריך/שעה קלנדריים, כלומר שנה, חודש, יום, שעה, דקה, ארוזים יחד במספר שלם לא חתום. ייצוג הביטים מאורגן כך שהשוואות סידוריים של ערכי תאריך/שעה דחוסים תואמות לסדר הטבעי של הזמנים התואמים. כדי לצמצם את גודלן, התאריך והשעה של האישורים הארוזים מוגבלים לייצוג השעות החל מ-1/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 )
המרת התאריך והשעה של האישור הארוז לתאריך של האישור הארוז.
תאריך אישור דחוס מכיל את השדות של תאריך שנה, חודש ויום, בתוך מספר שלם שאינו חתום. הביטים מאורגנות כך שהשוואות סידוריים של ערכי תאריכים דחוסים תואמות לסדר הטבעי של התאריכים המתאימים. כדי להקטין את מספרן, תאריכי האישורים הארוזים מוגבלים לייצוג תאריכים החל מתאריך 1/2000/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 )