nl:: Weave:: Profiles:: Security
تشمل مساحة الاسم هذه جميع الواجهات ضمن Weave للملف الشخصي Security (الأمان) في 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)
|
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 ويستخرج المفتاح الخاص.
|
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) ضمن الملف الشخصي للأمان في Weave. |
nl:: |
تشمل مساحة الاسم هذه جميع الواجهات ضمن Weave لبروتوكول توفير شهادات Weave ضمن الملف الشخصي للأمان في Weave. |
nl:: |
تشمل مساحة الاسم هذه جميع الواجهات ضمن Weave لبروتوكول التصدير الرئيسي ضمن الملف الشخصي للأمان في Weave. |
nl:: |
تشمل مساحة الاسم هذه جميع الواجهات داخل Weave لبروتوكول إنشاء جلسة مصادقة كلمة المرور (PASE) ضمن الملف الشخصي للأمان في Weave. |
nl:: |
تشمل مساحة الاسم هذه جميع الواجهات ضمن Weave لمكتبة رموز مرور Weave ضمن الملف الشخصي للأمان في Weave. |
nl:: |
تشمل مساحة الاسم هذه جميع الواجهات المتوفّرة في Weave لبروتوكول تبادل المفاتيح المصادق للرمز المميّز (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 وينشئ بنية TLV لمعلومات شهادة CASE تحتوي على الشهادات من رمز الدخول.
تفك هذه الدالة ترميز رمز دخول Weave معيّن وترميز TLV لبنية معلومات شهادة Weave CASE. يتم ضبط حقل EntityCertificate داخل بنية CertificateInfo على شهادة رمز الدخول، ويتم ضبط الحقل RelatedCertificates (إن وُجد) على الحقل المقابل داخل رمز الدخول.
التفاصيل | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||||||
قيم الإرجاع |
|
CASECertInfoFromAccessToken
WEAVE_ERROR CASECertInfoFromAccessToken( TLVReader & reader, TLVWriter & writer )
تقرأ رمز دخول Weave ويكتب بنية TLV لمعلومات شهادة CASE تحتوي على الشهادات من رمز الدخول.
تقرأ هذه الدالة رمز دخول Weave من قارئ TLVReader معيّن وتكتب TLV لبنية معلومات شهادة Weave CASE إلى TLVWriter. يتم ضبط حقل EntityCertificate داخل بنية CertificateInfo على شهادة رمز الدخول، ويتم ضبط الحقل RelatedCertificates (إن وُجد) على الحقل المقابل داخل رمز الدخول.
التفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||||
قيم الإرجاع |
|
ConvertAuthorityKeyIdentifierExtension
WEAVE_ERROR ConvertAuthorityKeyIdentifierExtension( ASN1Reader & reader, TLVWriter & writer )
ConvertCertificate
WEAVE_ERROR ConvertCertificate( ASN1Reader & reader, TLVWriter & writer )
ConvertDistinguishedName
WEAVE_ERROR ConvertDistinguishedName( ASN1Reader & reader, TLVWriter & writer, uint64_t tag )
ConvertECDSASignature_DERToWeave
WEAVE_ERROR ConvertECDSASignature_DERToWeave( const uint8_t *sigBuf, uint8_t sigLen, TLVWriter & writer, uint64_t tag )
ConvertExtension
WEAVE_ERROR ConvertExtension( ASN1Reader & reader, TLVWriter & writer )
ConvertExtensions
WEAVE_ERROR ConvertExtensions( ASN1Reader & reader, TLVWriter & writer )
ConvertSubjectPublicKeyInfo
WEAVE_ERROR ConvertSubjectPublicKeyInfo( ASN1Reader & reader, TLVWriter & writer )
ConvertValidity
WEAVE_ERROR ConvertValidity( ASN1Reader & reader, TLVWriter & writer )
ConvertWeaveCertToX509Cert
WEAVE_ERROR ConvertWeaveCertToX509Cert( const uint8_t *weaveCert, uint32_t weaveCertLen, uint8_t *x509CertBuf, uint32_t x509CertBufSize, uint32_t & x509CertLen )
ConvertX509CertToWeaveCert
WEAVE_ERROR ConvertX509CertToWeaveCert( const uint8_t *x509Cert, uint32_t x509CertLen, uint8_t *weaveCertBuf, uint32_t weaveCertBufSize, uint32_t & weaveCertLen )
DecodeConvertAuthorityKeyIdentifierExtension
WEAVE_ERROR DecodeConvertAuthorityKeyIdentifierExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertBasicConstraintsExtension
WEAVE_ERROR DecodeConvertBasicConstraintsExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertCert
WEAVE_ERROR DecodeConvertCert( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertDN
WEAVE_ERROR DecodeConvertDN( TLVReader & reader, ASN1Writer & writer, WeaveDN & dn )
DecodeConvertECDSASignature
WEAVE_ERROR DecodeConvertECDSASignature( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertExtendedKeyUsageExtension
WEAVE_ERROR DecodeConvertExtendedKeyUsageExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertExtension
WEAVE_ERROR DecodeConvertExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertExtensions
WEAVE_ERROR DecodeConvertExtensions( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertKeyUsageExtension
WEAVE_ERROR DecodeConvertKeyUsageExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertRSASignature
WEAVE_ERROR DecodeConvertRSASignature( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertSubjectKeyIdentifierExtension
WEAVE_ERROR DecodeConvertSubjectKeyIdentifierExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertSubjectPublicKeyInfo
WEAVE_ERROR DecodeConvertSubjectPublicKeyInfo( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertTBSCert
WEAVE_ERROR DecodeConvertTBSCert( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertValidity
WEAVE_ERROR DecodeConvertValidity( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeCopyECDSASignature_DER
WEAVE_ERROR DecodeCopyECDSASignature_DER( const uint8_t *sigBuf, uint8_t sigLen, EncodedECDSASignature & sig )
DecodeWeaveCert
WEAVE_ERROR DecodeWeaveCert( const uint8_t *weaveCert, uint32_t weaveCertLen, WeaveCertificateData & certData )
DecodeWeaveCert
WEAVE_ERROR DecodeWeaveCert( TLVReader & reader, WeaveCertificateData & certData )
DecodeWeaveDN
WEAVE_ERROR DecodeWeaveDN( TLVReader & reader, WeaveDN & dn )
DecodeWeaveECDSASignature
WEAVE_ERROR DecodeWeaveECDSASignature( TLVReader & reader, EncodedECDSASignature & sig )
DecodeWeaveECPrivateKey
NL_DLL_EXPORT WEAVE_ERROR DecodeWeaveECPrivateKey( const uint8_t *buf, uint32_t len, uint32_t & weaveCurveId, EncodedECPublicKey & pubKey, EncodedECPrivateKey & privKey )
DescribeWeaveCertId
const char * DescribeWeaveCertId( OID attrOID, uint64_t weaveCertId )
DetermineCertType
WEAVE_ERROR DetermineCertType( WeaveCertificateData & cert )
تحديد النوع العام لشهادة Weave.
تُجري هذه الدالة تقييمًا عامًا لنوع الشهادة استنادًا إلى بنية الاسم المميز لموضوع الشهادة والإضافات الحالية. إنّ التطبيقات مجانية في إلغاء هذا التقييم من خلال ضبط 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 ومشفّرة بتنسيق Weave TLV.
التفاصيل | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||||||||
قيم الإرجاع |
|
GetWeaveSignatureAlgo
WEAVE_ERROR GetWeaveSignatureAlgo( const uint8_t *sig, uint16_t sigLen, OID & sigAlgoOID )
إضافة مسافة بادئة
void Indent( FILE *out, uint16_t count )
InsertRelatedCertificatesIntoWeaveSignature
WEAVE_ERROR InsertRelatedCertificatesIntoWeaveSignature( uint8_t *sigBuf, uint16_t sigLen, uint16_t sigBufLen, const uint8_t *relatedCerts, uint16_t relatedCertsLen, uint16_t & outSigLen )
IsCertificateExtensionTag
bool IsCertificateExtensionTag( uint64_t tag )
IsCurveInSet
bool IsCurveInSet( uint32_t curveId, uint8_t curveSet )
IsSupportedCurve
bool IsSupportedCurve( uint32_t curveId )
IsWeaveIdX509Attr
bool IsWeaveIdX509Attr( OID oid )
IsWeaveX509Attr
bool IsWeaveX509Attr( OID oid )
LoadAccessTokenCerts
WEAVE_ERROR LoadAccessTokenCerts( const uint8_t *accessToken, uint32_t accessTokenLen, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert )
يمكنك تحميل الشهادات في رمز الدخول إلى مجموعة شهادات Weave.
تفكّ هذه الدالة رمز دخول Weave المحدد وتُحمّل شهادات رمز الدخول إلى كائن مجموعة شهادات Weave المحدد. وإذا كانت رموز الدخول تحتوي على شهادة ذات صلة واحدة أو أكثر، يتم تحميلها في مجموعة الشهادات أيضًا.
التفاصيل | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||||||
قيم الإرجاع |
|
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) إلى تاريخ/وقت الشهادة معبأ.
توفّر تواريخ/أوقات الشهادة المشفَّرة تمثيلاً مصغّرًا لقيم الوقت في الشهادة (not before وnotAfter) لا تتطلّب شرحًا فوريًا لعمليات حسابية تقويم كاملة.
يحتوي تاريخ/وقت الشهادة على حقول تاريخ/وقت التقويم، أي السنة، الشهر، اليوم، الساعة، الدقيقة، المجموعة الثانية في عدد صحيح غير موقَّع. يتم تنظيم تمثيل البت بحيث تتوافق المقارنات الترتيبية لقيم التاريخ/الوقت مع الترتيب الطبيعي للأوقات المقابلة. ولتقليل حجم هذه الشهادات، تقتصر أوقات/تواريخ الشهادة المضغوطة على تمثيل الأوقات التي تقع في 01/01/2000/01/00 00:00:00 أو بعده. وعند وضعها ضمن عدد صحيح 32 بت غير موقَّع، يمكن أن تمثل أوقات/تاريخ الشهادة معبّأة أوقاتًا تصل إلى عام 2133.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
قيم الإرجاع |
|
PackedCertDateToTime
NL_DLL_EXPORT uint32_t PackedCertDateToTime( uint16_t packedDate )
حوّل تاريخ شهادة مجمعة إلى تاريخ/وقت الشهادة المجمعة، حيث يتم تعيين جزء الوقت من القيمة على 00:00:00.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
تاريخ/وقت شهادة الحزمة المقابلة
|
PackedCertTimeToDate
NL_DLL_EXPORT uint16_t PackedCertTimeToDate( uint32_t packedTime )
تحويل تاريخ/وقت الشهادة المجمَّعة إلى تاريخ شهادة مجمعة.
يحتوي تاريخ الشهادة الحزمة على حقول تاريخ تقويم، سنة، شهر، مجمعة في عدد صحيح غير موقع. يتم تنظيم وحدات البت بحيث تتوافق المقارنات الترتيبية لقيم التاريخ المضغوطة مع الترتيب الطبيعي للتواريخ المقابلة. ولتقليل حجم هذه الشهادات، تقتصر تواريخ الشهادات المضغوطة على تواريخ في 01/01/2000 أو بعد هذا التاريخ. وعند وضعها ضمن عدد صحيح غير موقَّع مكوَّن من 16 بت، يمكن أن تمثل تواريخ الشهادات المجمَّعة تواريخ حتى عام 2176.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
تاريخ شهادة الحزمة المقابل.
|
ParseWeaveIdAttribute
WEAVE_ERROR ParseWeaveIdAttribute( ASN1Reader & reader, uint64_t & weaveIdOut )
PrintCert
NL_DLL_EXPORT void PrintCert( FILE *out, const WeaveCertificateData & cert, const WeaveCertificateSet *certSet, uint16_t indent, bool verbose )
PrintCertArray
WEAVE_ERROR PrintCertArray( FILE *out, TLVReader & reader, uint16_t indent )
PrintCertReference
WEAVE_ERROR PrintCertReference( FILE *out, TLVReader & reader, uint16_t indent )
PrintCertType
void PrintCertType( FILE *out, uint8_t certType )
PrintCertValidationResults
NL_DLL_EXPORT void PrintCertValidationResults( FILE *out, const WeaveCertificateSet & certSet, const ValidationContext & validContext, uint16_t indent )
PrintECDSASignature
WEAVE_ERROR PrintECDSASignature( FILE *out, TLVReader & reader, uint16_t indent )
PrintHexField
void PrintHexField( FILE *out, const char *name, uint16_t indent, uint16_t count, const uint8_t *data )
PrintPackedDate
void PrintPackedDate( FILE *out, uint16_t t )
PrintPackedTime
void PrintPackedTime( FILE *out, uint32_t t )
PrintWeaveDN
void PrintWeaveDN( FILE *out, const WeaveDN & dn )
PrintWeaveDN
WEAVE_ERROR PrintWeaveDN( FILE *out, TLVReader & reader )
PrintWeaveSignature
WEAVE_ERROR PrintWeaveSignature( FILE *out, TLVReader & reader, uint16_t indent )
SecondsSinceEpochToPackedCertTime
NL_DLL_EXPORT uint32_t SecondsSinceEpochToPackedCertTime( uint32_t secondsSinceEpoch )
حوّل عدد الثواني منذ 1970-01-01 00:00:00 UTC إلى تاريخ/وقت شهادة حزمة بيانات.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
تاريخ/وقت شهادة الحزمة المقابلة
|
TranslateOpenSSLError
WEAVE_ERROR TranslateOpenSSLError( WEAVE_ERROR defaultErr )
UnpackCertTime
NL_DLL_EXPORT WEAVE_ERROR UnpackCertTime( uint32_t packedTime, ASN1UniversalTime & time )
فك ضغط تاريخ/وقت الشهادة المضغوطة في بنية زمنية عامة لـ ASN.1.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
قيم الإرجاع |
|
VerifyWeaveSignature
NL_DLL_EXPORT WEAVE_ERROR VerifyWeaveSignature( const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *sig, uint16_t sigLen, WeaveCertificateSet & certSet, ValidationContext & certValidContext )
VerifyWeaveSignature
NL_DLL_EXPORT WEAVE_ERROR VerifyWeaveSignature( const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *sig, uint16_t sigLen, OID expectedSigAlgoOID, WeaveCertificateSet & certSet, ValidationContext & certValidContext )
WeaveCurveIdToOID
NL_DLL_EXPORT OID WeaveCurveIdToOID( uint32_t weaveCurveId )