nl:: Weave:: Profiles:: Security
تتضمن مساحة الاسم هذه جميع الواجهات داخل Weave لملف الأمان الشخصي على Weave.
ملخّص
عمليات التعداد |
|
---|---|
@235
|
تعداد علامات الأغراض الرئيسية لشهادة X.509 |
@236
|
تعداد علامات استخدام مفتاح الشهادة X.509 |
@237
|
تعداد علامات شهادة Weave. |
@238
|
تعداد علامات فك ترميز شهادة Weave |
@239
|
تعداد علامات التحقق من صحة شهادة Weave |
@240
|
تعداد |
@280
|
تعداد |
@281
|
تعداد |
@282
|
تعداد |
@283
|
تعداد |
@284
|
تعداد |
@285
|
تعداد |
@286
|
تعداد |
@287
|
تعداد |
@288
|
تعداد |
@289
|
تعداد |
تعريف الأنواع |
|
---|---|
GenerateECDSASignatureFunct)(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig)
|
تعريف الكتابة إنشاء توقيع 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 ويستخرج المفتاح الخاص.
|
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
أنشئ تجزئة تحقُّق (بتنسيق base-64) لمجموعة معيّنة من بيانات اعتماد جهاز Thermostat.
|
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) ضمن الملف الشخصي للأمان. |
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.
يحتوي على معلومات حول شهادة تم تحميلها في كائن 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
تعريف الأنواع
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 وإنشاء بنية CASE معلومات الشهادة TLV التي تحتوي على الشهادات من رمز الدخول.
وتقوم هذه الدالة بفك ترميز رمز دخول معين لـ Weave وترميز TLV لبنية معلومات شهادة CASE Weave. يتم تعيين حقل "شهادة الكيان" داخل بنية CertificateInfo على شهادة رمز الدخول، ويتم تعيين حقل RelatedCertificates (إن وُجد) على الحقل المقابل داخل رمز الدخول.
التفاصيل | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
المعلمات |
|
||||||||||
قيم الإرجاع |
|
CASECertInfoFromAccessToken
WEAVE_ERROR CASECertInfoFromAccessToken( TLVReader & reader, TLVWriter & writer )
يقرأ رمز الدخول Weave ويكتب بنية CASE معلومات الشهادة TLV التي تحتوي على الشهادات من رمز الدخول.
تقرأ هذه الدالة رمز Weave Access Token من TLVReader وتكتب TLV لبنية معلومات CASE المتعلقة بشهادة Weave إلى TLVWriter. يتم تعيين حقل "شهادة الكيان" داخل بنية 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.
تقوم هذه الدالة بإجراء تقييم عام لنوع الشهادة بناءً على بنية الاسم المميز لموضوعها والإضافات الموجودة. يمكن للتطبيقات تجاوز هذا التقييم من خلال ضبط 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 ويستخرج المفتاح الخاص.
تفكّ هذه الدالة ترميز رمز دخول معيّن لـ Weave وتستخرج حقل المفتاح الخاص من الرمز المميّز.
التفاصيل | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
المعلمات |
|
||||||||||
قيم الإرجاع |
|
ExtractPrivateKeyFromAccessToken
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( TLVReader & reader, TLVWriter & writer )
يقرأ رمز الدخول Weave ويستخرج المفتاح الخاص.
تفكّ هذه الدالة ترميز رمز دخول معيّن لـ Weave وتستخرج حقل المفتاح الخاص من الرمز المميّز.
التفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المعلمات |
|
||||||||
قيم الإرجاع |
|
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.
تنشئ هذه الدالة شهادة تشغيل موقَّعة ذاتيًا 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 )
أنشئ تجزئة تحقُّق (بتنسيق base-64) لمجموعة معيّنة من بيانات اعتماد جهاز Thermostat.
التفاصيل | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
المعلمات |
|
||||||||||||||||
قيم الإرجاع |
|
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.
التفاصيل | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
المعلمات |
|
||||||||||||||||||
قيم الإرجاع |
|
OIDToWeaveCurveId
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 )
ويمكنك تحويل تاريخ/وقت شهادة مضغوطة إلى تاريخ شهادة مضغوطة.
يحتوي تاريخ الشهادة المُضمَّنة على حقول التاريخ السنة التقويمية، الشهر، حزمة يوم في عدد صحيح غير موقَّع. يتم تنظيم وحدات البت بحيث تتوافق المقارنات الترتيبية لقيم التاريخ المعبأ مع الترتيب الطبيعي للتواريخ المقابلة. لتقليل حجمها، تقتصر تواريخ الشهادات المجمعة على تمثيل التواريخ في أو بعد 2000/01/01. عند وضعها ضمن عدد صحيح غير موقَّع 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 )