nl:: Weave:: الملفات الشخصية:: الأمان
تتضمن مساحة الاسم هذه جميع الواجهات ضمن Weave للملف الشخصي لأمان Weave.
الملخّص
تعداد |
|
---|---|
@235
|
تعداد علامات الغرض من شهادة X.509 |
@236
|
تعداد علامات استخدام مفتاح شهادة X.509 |
@237
|
تعداد علامات شهادة Weave. |
@238
|
تعداد علامات فك ترميز شهادة Weave. |
@239
|
تعداد علامات Weave Certificate التحقُّق من الصحة. |
@240
|
تعداد |
@280
|
تعداد |
@281
|
تعداد |
@282
|
تعداد |
@283
|
تعداد |
@284
|
تعداد |
@285
|
تعداد |
@286
|
تعداد |
@287
|
تعداد |
@288
|
تعداد |
@289
|
تعداد |
رفوف النوع |
|
---|---|
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)
|
قراءة رمز دخول Weave Access وإنشاء بنية شهادة الحالة TLV لمعلومات الشهادات التي تحتوي على الشهادات من رمز الدخول.
|
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) لمجموعة معيَّنة من بيانات اعتماد جهاز الترموستات.
|
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 للتوقيت العالمي المتفق عليه إلى تاريخ/وقت للشهادة المزدحمة.
|
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 لبروتوكول مصادقة المفاتيح التي تمت مصادقتها (take) ضمن ملف Weave Security. |
تعداد
@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
رفوف النوع
إنشاء توقيع مميّز للإعلانات الديناميكية على شبكة البحث
WEAVE_ERROR(* GenerateECDSASignatureFunct)(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig)
يمكنك إنشاء توقيع ECDSA باستخدام مفتاح عقد Weave المحلي الخاص.
عند الاستدعاء، يجب أن تحسب عمليات التنفيذ توقيعًا على قيمة التجزئة المُحدَّدة باستخدام المفتاح الخاص للعُقدة.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلَمات |
|
||||||
قيم الإرجاع |
|
المتغيّرات
إدارة الحسابات
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 وإنشاء بنية شهادة الحالة TLV لمعلومات الشهادات التي تحتوي على الشهادات من رمز الدخول.
تعمل هذه الوظيفة على فك ترميز رمز الدخول المميز لـ Weave وترميز TLV لبنية معلومات حالة شهادة CASE. يتم إعداد حقل "شهادة الكيان" ضمن بنية CertificateInfo على شهادة "رمز الدخول"، ويتم ضبط حقل "الشهادات ذات الصلة" (في حال توفّرها) على الحقل المقابل ضمن "رمز الدخول".
التفاصيل | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
المعلَمات |
|
||||||||||
قيم الإرجاع |
|
CASECertInfoFromAccessToken
WEAVE_ERROR CASECertInfoFromAccessToken( TLVReader & reader, TLVWriter & writer )
قراءة رمز دخول Weave Access وكتابة هيكل CASE TLV لمعلومات الشهادة التي تحتوي على الشهادات من رمز الدخول.
تقرأ هذه الدالة رمز الدخول المميّز من Weave من TLVReader وتكتب TLV لبنية معلومات حالة شهادة Wave إلى TLVWriter. يتم إعداد حقل "شهادة الكيان" ضمن بنية CertificateInfo على شهادة "رمز الدخول"، ويتم ضبط حقل "الشهادات ذات الصلة" (في حال توفّرها) على الحقل المقابل ضمن "رمز الدخول".
التفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المعلَمات |
|
||||||||
قيم الإرجاع |
|
تحويل OAuthAuthorityKeyIdentifier
WEAVE_ERROR ConvertAuthorityKeyIdentifierExtension( ASN1Reader & reader, TLVWriter & writer )
تحويل الشهادة
WEAVE_ERROR ConvertCertificate( ASN1Reader & reader, TLVWriter & writer )
اسم ConvertDistinguished
WEAVE_ERROR ConvertDistinguishedName( ASN1Reader & reader, TLVWriter & writer, uint64_t tag )
تحويل مؤتمر DSA_DERToWeave
WEAVE_ERROR ConvertECDSASignature_DERToWeave( const uint8_t *sigBuf, uint8_t sigLen, TLVWriter & writer, uint64_t tag )
إضافة الإحالة الناجحة
WEAVE_ERROR ConvertExtension( ASN1Reader & reader, TLVWriter & writer )
تحويل الإضافات
WEAVE_ERROR ConvertExtensions( ASN1Reader & reader, TLVWriter & writer )
تحويل الموضوع العام
WEAVE_ERROR ConvertSubjectPublicKeyInfo( ASN1Reader & reader, TLVWriter & writer )
صلاحية الإحالات الناجحة
WEAVE_ERROR ConvertValidity( ASN1Reader & reader, TLVWriter & writer )
تحويل ConWeWeveCertToX509Cert
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 )
DecodeConvertAuthorityKeyIdentifierExtension
WEAVE_ERROR DecodeConvertAuthorityKeyIdentifierExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
فك ترميز DevertConConsConsts
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 )
فك ترميز ConvertECDSA
WEAVE_ERROR DecodeConvertECDSASignature( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
فك ترميز ConvertExtendedKeyUsageExtension
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 )
فك ترميز ConvertKeyUsageExtension
WEAVE_ERROR DecodeConvertKeyUsageExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
فك ترميز ConvertRSA
WEAVE_ERROR DecodeConvertRSASignature( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertSubjectKeyIdentifierExtension
WEAVE_ERROR DecodeConvertSubjectKeyIdentifierExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
فك ترميز ConPublicSubjectPublicKeyInfo
WEAVE_ERROR DecodeConvertSubjectPublicKeyInfo( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
فك ترميز ConvertTBSCert
WEAVE_ERROR DecodeConvertTBSCert( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
فك ترميز الصلاحية
WEAVE_ERROR DecodeConvertValidity( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
فك ترميزCopyECDSASignature_DER
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 )
فك الترميز WeaveECDSA
WEAVE_ERROR DecodeWeaveECDSASignature( TLVReader & reader, EncodedECDSASignature & sig )
مفتاح DecodeWeaveECPrivate
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.
تُجري هذه الدالة تقييمًا عامًا لنوع الشهادة استنادًا إلى بنية الاسم المميّز لموضوعها والإضافات الحالية. يمكن للتطبيقات تجاوز هذا التقييم عن طريق ضبط cert.CertType على قيمة أخرى، بما في ذلك القيمة التي يحدِّدها التطبيق.
وبوجه عام، لن تثق التطبيقات إلا في شهادة التطبيقات المشابهة إذا كانت ترتبط بشهادة جذر موثوق بها. ومع ذلك، يمكن أن يؤثر النوع المُخصَّص للشهادة على طبيعة هذه الثقة، مثل السماح بوصول ميزات معيَّنة أو عدم السماح بها. ولهذا السبب، يمكن أن تؤدي التغييرات التي تطرأ على هذه الخوارزمية إلى تأثيرات مهمة جدًا ومحتملة جدًا على أمان النظام بشكل عام، ويجب ألا يتم إجراؤها بدون فهم شامل للآثار المترتبة على هذه الخوارزمية.
ملاحظة: لا يمكن تمييز شهادات رمز الدخول من خلال هيكلها فقط. وبالتالي، لا تضبط هذه الدالة مطلقًا cert.CertType = kCertType_AccessToken.
ترميز EnaWeveECDSA
WEAVE_ERROR EncodeWeaveECDSASignature( TLVWriter & writer, EncodedECDSASignature & sig, uint64_t tag )
ترميز EnaWeveECPrivateKey
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 Access واستخراج حقل المفتاح الخاص من الرمز المميز.
التفاصيل | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
المعلَمات |
|
||||||||||
قيم الإرجاع |
|
ExtractPrivateKeyFromAccessToken
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( TLVReader & reader, TLVWriter & writer )
قراءة رمز الدخول المميز من Weave واستخراج المفتاح الخاص.
تعمل هذه الدالة على فك ترميز رمز الدخول المميز Weave Access واستخراج حقل المفتاح الخاص من الرمز المميز.
التفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المعلَمات |
|
||||||||
قيم الإرجاع |
|
GenerateAndEncodeWeaveECDSASignature
WEAVE_ERROR GenerateAndEncodeWeaveECDSASignature( TLVWriter & writer, uint64_t tag, const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *signingKey, uint16_t signingKeyLen )
إنشاء توقيع Weave ECDSA وترميزه.
لحساب توقيع ECDSA باستخدام مفتاح خاص وتجزئة رسالة وكتابة التوقيع كبنية توقيع Weave ECDSA إلى كاتب TLV المحدد بالعلامة المعيّنة.
التفاصيل | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
المعلَمات |
|
||||||||||||
قيم الإرجاع |
|
إنشاء شهادة OperaOperaDeviceDevice
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 )
علامة الإضافة
bool IsCertificateExtensionTag( uint64_t tag )
مجموعة مكوّنة
bool IsCurveInSet( uint32_t curveId, uint8_t curveSet )
متوافق مع المنحنى
bool IsSupportedCurve( uint32_t curveId )
IsWeaveIdX509Attr
bool IsWeaveIdX509Attr( OID oid )
IsWeaveX509Attr
bool IsWeaveX509Attr( OID oid )
LoadAccessTokenCerts
WEAVE_ERROR LoadAccessTokenCerts( const uint8_t *accessToken, uint32_t accessTokenLen, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert )
يمكنك تحميل الشهادات في رمز الدخول إلى مجموعة شهادات Weave.
تعمل هذه الدالة على فك ترميز رمز الدخول المحدد إلى Weave وتحميل شهادات رمز الدخول إلى كائن مجموعة شهادات Weave المحدد. إذا كانت رموز الدخول تحتوي على شهادة واحدة أو أكثر من هذه الشهادات، يتم تحميلها في مجموعة الشهادات أيضًا.
التفاصيل | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
المعلَمات |
|
||||||||||
قيم الإرجاع |
|
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) لمجموعة معيَّنة من بيانات اعتماد جهاز الترموستات.
التفاصيل | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
المعلَمات |
|
||||||||||||||||
قيم الإرجاع |
|
أداة MakeWeaveProviderHash
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 )
وقت الشهادة
NL_DLL_EXPORT WEAVE_ERROR PackCertTime( const ASN1UniversalTime & time, uint32_t & packedTime )
حوِّل تاريخ/وقت الشهادة (على شكل بنية وقت ASN.1 العام) إلى تاريخ/وقت شهادة مليئة.
يوفّر تاريخ/أوقات الشهادة المجمّعة تمثيلاً مضغوطًا لقيم الوقت ضمن الشهادة (notBefore وnotafter) التي لا تتطلب تفسيرات التقويم الكاملة.
يحتوي تاريخ/وقت الشهادة المجمّعة على حقول تاريخ/وقت، مثل السنة واليوم واليوم والساعة والدقيقة والثانية مُعبَّأة في عدد صحيح غير موقَّع. يتم تنظيم تمثيل البت بحيث تتوافق المقارنات الترتيبية لقيم التاريخ/الوقت المجمّعة مع الترتيب الطبيعي للأوقات المقابلة. لتقليل الحجم، تقتصر أوقات/تواريخ الشهادات المجمّعة على الأوقات التي تكون 2000/01/01 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 )
تحويل تاريخ/وقت الشهادة المجمّعة إلى تاريخ شهادة مجمّعة
يحتوي تاريخ الشهادة المجمّعة على حقول dateyear، شهر، يوم مجمّع في عدد صحيح غير موقّع. ويتم تنظيم وحدات البت بحيث تتوافق المقارنات الترتيبية لقيم التاريخ المجمّع مع الترتيب الطبيعي للتواريخ المقابلة. لتقليل الحجم، تقتصر تواريخ الشهادات المجمّعة على التواريخ في 2000/01/01. وعندما يتم حفظ تواريخ الشهادة المجمّعة ضمن عدد صحيح غير موقَّع بدقة 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 )
CertPrintArray
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 )
طباعة ECDSA
WEAVE_ERROR PrintECDSASignature( FILE *out, TLVReader & reader, uint16_t indent )
مجال الطباعة السداسي
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 )
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 )
عدد الثواني بعد مدة EpochToPackedCertTime
NL_DLL_EXPORT uint32_t SecondsSinceEpochToPackedCertTime( uint32_t secondsSinceEpoch )
يمكنك تحويل عدد الثواني منذ 1970-01-01 00:00:00 للتوقيت العالمي المتفق عليه إلى تاريخ/وقت للشهادة المزدحمة.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
||
المرتجعات |
تاريخ/وقت شهادة الحزمة المقابلة.
|
خطأ في OpenSSL
WEAVE_ERROR TranslateOpenSSLError( WEAVE_ERROR defaultErr )
إلغاء حزم البيانات
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 )