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)
قراءة رمز دخول Weave Access وكتابة هيكل CASE TLV لمعلومات الشهادة التي تحتوي على الشهادات من رمز الدخول.
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::Weave::الملفات الشخصية::الأمان::CertificateKeyId
nl::Weave::الملفات الشخصية::الأمان::التحقق من صحة السياق
nl::Weave::الملفات الشخصية::الأمان::WeaveCertificateData
nl::Weave::الملفات الشخصية::الأمان::WeaveCertificateSet
nl::Weave::الملفات الشخصية::الأمان::WeaveDN
nl::Weave::الملفات الشخصية::الأمان::WeaveتزويدBundle
nl::Weave::الملفات الشخصية::الأمان::WeaveSignatureGenerator

لإنشاء توقيع WeaveSignature باستخدام مفتاح خاص في الذاكرة.

nl::Weave::الملفات الشخصية::الأمان::WeaveSignatureGeneratorBase

توفّر وظائف عامة لإنشاء WeaveSignatures.

مساحات الأسماء

nl::Weave::الملفات الشخصية::الأمان::AppKeys

تحتوي مساحة الاسم هذه على جميع الواجهات ضمن Weave لمكتبة مفاتيح تطبيق Weave ضمن الملف الشخصي لأمان Weave.

nl::Weave::الملفات الشخصية::الأمان::CASE

تتضمن مساحة الاسم هذه جميع الواجهات ضمن بروتوكول Weave لبروتوكول مصادقة الجلسة التي تمت مصادقتها (CASE) ضمن الملف الشخصي لأمان Weave.

nl::Weave::الملفات الشخصية::الأمان::إدارة الحسابات

تشمل مساحة الاسم هذه جميع الواجهات في Weave لبروتوكول توفير شهادة Weave ضمن الملف الشخصي لأمان Weave.

nl::Weave::الملفات الشخصية::الأمان::KeyExport

تشمل مساحة الاسم هذه جميع الواجهات ضمن Weave لبروتوكول التصدير الرئيسي ضمن الملف الشخصي لأمان Weave.

nl::Weave::الملفات الشخصية::الأمان::اجتياز

تتضمن مساحة الاسم هذه جميع الواجهات ضمن بروتوكول Weave لبروتوكول مصادقة الجلسة التي تم مصادقة كلمة مرورها (PASE) ضمن الملف الشخصي لأمان Weave.

nl::Weave::الملفات الشخصية::الأمان::رموز المرور

تحتوي مساحة الاسم هذه على جميع الواجهات ضمن Weave لمكتبة رموز مرور Weave ضمن الملف الشخصي لأمان Weave.

nl::Weave::الملفات الشخصية::الأمان::Take

تشمل مساحة الاسم هذه جميع الواجهات ضمن 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 المحلي الخاص.

عند الاستدعاء، يجب أن تحسب عمليات التنفيذ توقيعًا على قيمة التجزئة المُحدَّدة باستخدام المفتاح الخاص للعُقدة.

التفاصيل
المعلَمات
[in] hash
مخزن مؤقت يحتوي على تجزئة الشهادة المطلوب توقيعها.
[in] hashLen
الطول بالبايت للتجزئة.
[in] ecdsaSig
مرجع إلى عنصر توقيع ecdsa، حيث يتم تخزين نتيجة هذه الدالة.
قيم الإرجاع
WEAVE_NO_ERROR
إذا تم تنفيذ العملية بنجاح.

المتغيّرات

إدارة الحسابات

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 على شهادة "رمز الدخول"، ويتم ضبط حقل "الشهادات ذات الصلة" (في حال توفّرها) على الحقل المقابل ضمن "رمز الدخول".

التفاصيل
المعلَمات
accessToken
مؤشر إلى المخزن المؤقت الذي يحتوي على رمز دخول معتمد من Weave.
accessTokenLen
طول رمز الدخول المشفّر.
certInfoBuf
مؤشر إلى المخزن المؤقت الذي يجب ترميز بنية معلومات شهادة CASE فيه.
certInfoBufSize
حجم المخزن المؤقت الذي يشير إليه certInfoBuf.
certInfoLen
سيتم ضبط مرجع إلى عدد صحيح على طول بنية معلومات الشهادة المشفرة. ملاحظة: لا يتم ضبط هذه القيمة إلا عندما يتم إرجاع الدالة بنجاح.
قيم الإرجاع
WEAVE_NO_ERROR
إذا تم ترميز بنية معلومات شهادة الحالة CASE بنجاح.
tlv-errors
هناك أخطاء إملائية تتعلق بقراءة TLV أو كتابتها.
cert-errors
أخطاء Weave ذات الصلة بفك ترميز شهادات Weave.
platform-errors
أخطاء أخرى متعلقة بالنظام الأساسي

CASECertInfoFromAccessToken

WEAVE_ERROR CASECertInfoFromAccessToken(
  TLVReader & reader,
  TLVWriter & writer
)

قراءة رمز دخول Weave Access وكتابة هيكل CASE TLV لمعلومات الشهادة التي تحتوي على الشهادات من رمز الدخول.

تقرأ هذه الدالة رمز الدخول المميّز من Weave من TLVReader وتكتب TLV لبنية معلومات حالة شهادة Wave إلى TLVWriter. يتم إعداد حقل "شهادة الكيان" ضمن بنية CertificateInfo على شهادة "رمز الدخول"، ويتم ضبط حقل "الشهادات ذات الصلة" (في حال توفّرها) على الحقل المقابل ضمن "رمز الدخول".

التفاصيل
المعلَمات
[in] reader
وضع TLVReader على رمز Weave Access Token.
[in] writer
أداة TLVWriter المُستخدَمة لتسجيل معلومات شهادة CASE للمُخرجات.
قيم الإرجاع
WEAVE_NO_ERROR
إذا تم ترميز بنية معلومات شهادة الحالة CASE بنجاح.
tlv-errors
هناك أخطاء إملائية تتعلق بقراءة TLV أو كتابتها.
cert-errors
أخطاء Weave ذات الصلة بفك ترميز شهادات Weave.
platform-errors
أخطاء أخرى متعلقة بالنظام الأساسي

تحويل 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 محددة.

التفاصيل
المعلَمات
[in] reader
وضع TLVReader على رمز Weave Access Token.
[in] writer
TLVWriter التي سيتم كتابة الشهادة عليها.
[in] tag
علامة TLV المطلوب استخدامها عند كتابة الشهادة.
قيم الإرجاع
WEAVE_NO_ERROR
إذا تم ترميز بنية معلومات شهادة الحالة CASE بنجاح.
tlv-errors
هناك أخطاء إملائية تتعلق بقراءة TLV أو كتابتها.
cert-errors
أخطاء Weave ذات الصلة بفك ترميز شهادات Weave.
platform-errors
أخطاء أخرى متعلقة بالنظام الأساسي

ExtractPrivateKeyFromAccessToken

WEAVE_ERROR ExtractPrivateKeyFromAccessToken(
  const uint8_t *accessToken,
  uint32_t accessTokenLen,
  uint8_t *privKeyBuf,
  uint16_t privKeyBufSize,
  uint16_t & privKeyLen
)

قراءة رمز الدخول المميز من Weave واستخراج المفتاح الخاص.

تعمل هذه الدالة على فك ترميز رمز الدخول المميز Weave Access واستخراج حقل المفتاح الخاص من الرمز المميز.

التفاصيل
المعلَمات
accessToken
مؤشر إلى المخزن المؤقت الذي يحتوي على رمز دخول معتمد من Weave.
accessTokenLen
طول رمز الدخول المشفّر.
privKeyBuf
مؤشر إلى المخزن المؤقت الذي يجب ترميز بنية المفتاح الخاص فيه.
privKeyBufSize
حجم المخزن المؤقت الذي يشير إليه privKeyBuf.
privKeyLen
سيتم ضبط مرجع إلى عدد صحيح على طول المفتاح الخاص. ملاحظة: لا يتم ضبط هذه القيمة إلا عندما يتم إرجاع الدالة بنجاح.
قيم الإرجاع
WEAVE_NO_ERROR
في حال استخراج المفتاح الخاص بنجاح
tlv-errors
هناك أخطاء إملائية تتعلق بقراءة TLV أو كتابتها.
cert-errors
أخطاء Weave ذات الصلة بفك ترميز شهادات Weave.
platform-errors
أخطاء أخرى متعلقة بالنظام الأساسي

ExtractPrivateKeyFromAccessToken

WEAVE_ERROR ExtractPrivateKeyFromAccessToken(
  TLVReader & reader,
  TLVWriter & writer
)

قراءة رمز الدخول المميز من Weave واستخراج المفتاح الخاص.

تعمل هذه الدالة على فك ترميز رمز الدخول المميز Weave Access واستخراج حقل المفتاح الخاص من الرمز المميز.

التفاصيل
المعلَمات
[in] reader
وضع TLVReader على رمز Weave Access Token.
[in] writer
TLVWriter الذي سيتم كتابة المفتاح الخاص إليه.
قيم الإرجاع
WEAVE_NO_ERROR
في حال استخراج المفتاح الخاص بنجاح
tlv-errors
هناك أخطاء إملائية تتعلق بقراءة TLV أو كتابتها.
cert-errors
أخطاء Weave ذات الصلة بفك ترميز شهادات Weave.
platform-errors
أخطاء أخرى متعلقة بالنظام الأساسي

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 المحدد بالعلامة المعيّنة.

التفاصيل
المعلَمات
[in] writer
عنصر TLVWriter الذي يجب كتابة التوقيع الموقّع عليه.
[in] tag
علامة TLV المراد ربطها ببنية التوقيع المشفّرة.
[in] msgHash
ذاكرة تخزين مؤقت تحتوي على تجزئة الرسالة التي سيتم توقيعها.
[in] msgHashLen
الطول بالبايت لتجزئة الرسالة.
[in] signingKey
مخزن مؤقت يحتوي على المفتاح الخاص لاستخدامه لإنشاء التوقيع. من المتوقع أن يتم ترميز المفتاح الخاص كبنية Weave EllipticCurvePrivateKey TLV.
[in] signingKeyLen
الطول بالبايت للمفتاح الخاص المُشفَّر.
قيم الإرجاع
WEAVE_NO_ERROR
إذا تم تنفيذ العملية بنجاح.
other
رموز خطأ Weave الأخرى المتعلقة بفك ترميز المفتاح الخاص أو إنشاء التوقيع أو ترميزه.

إنشاء شهادة 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.

التفاصيل
المعلَمات
deviceId
معرّف الجهاز التشغيلي Weave.
devicePubKey
دمج المفتاح العام للجهاز التشغيلي
cert
مؤشر إلى المخزن المؤقت الذي تُكتب فيه الشهادة التي تم إنشاؤها.
certBufSize
الطول بالبايت للمخزن المؤقت للشهادة الذي تم تقديمه.
certLen
الطول بالبايت للشهادة التي تم إنشاؤها.
genCertSignature
مؤشر إلى دالة تنشئ توقيع ECDSA على تجزئة الشهادة المحددة باستخدام المفتاح الخاص للجهاز التشغيلي.
قيم الإرجاع
WEAVE_NO_ERROR
إذا تم إنشاء شهادة 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 المحدد. إذا كانت رموز الدخول تحتوي على شهادة واحدة أو أكثر من هذه الشهادات، يتم تحميلها في مجموعة الشهادات أيضًا.

التفاصيل
المعلَمات
accessToken
مؤشر إلى المخزن المؤقت الذي يحتوي على رمز دخول معتمد من Weave.
accessTokenLen
طول رمز الدخول المشفّر.
certSet
الشهادة التي تم فيها تحميل شهادات رمز الدخول.
decodeFlags
علامات فك ترميز الشهادات التي يجب استخدامها عند تحميل الشهادات.
accessTokenCert
مرجع إلى مؤشر سيتم ضبطه في بنية بيانات شهادة Weave لشهادة رمز الدخول. ملاحظة: لن يتم ضبط هذا المؤشر إلا إذا تم إرجاع الدالة بنجاح.
قيم الإرجاع
WEAVE_NO_ERROR
في حال تحميل شهادات رمز الدخول بنجاح
tlv-errors
هناك أخطاء في الضبط متعلقة بقراءة TLV.
cert-errors
أخطاء Weave ذات الصلة بفك ترميز شهادات Weave.
platform-errors
أخطاء أخرى متعلقة بالنظام الأساسي

LoadAccessTokenCerts

WEAVE_ERROR LoadAccessTokenCerts(
  TLVReader & reader,
  WeaveCertificateSet & certSet,
  uint16_t decodeFlags,
  WeaveCertificateData *& accessTokenCert
)

يمكنك تحميل الشهادات في رمز الدخول إلى مجموعة شهادات Weave.

تقرأ هذه الوظيفة رمز دخول Weave من TLVReader وتُحمِّل شهادات رمز الدخول إلى كائن مجموعة شهادات Weave المحدد. إذا كانت رموز الدخول تحتوي على شهادة واحدة أو أكثر من هذه الشهادات، يتم تحميلها في مجموعة الشهادات أيضًا.

التفاصيل
المعلَمات
reader
عنصر TLVReader يتم وضعه مباشرةً قبل رمز الدخول المميز من Weave.
certSet
الشهادة التي تم فيها تحميل شهادات رمز الدخول.
decodeFlags
علامات فك ترميز الشهادات التي يجب استخدامها عند تحميل الشهادات.
accessTokenCert
مرجع إلى مؤشر سيتم ضبطه في بنية بيانات شهادة Weave لشهادة رمز الدخول. ملاحظة: لا يتم ضبط هذه القيمة إلا عندما يتم إرجاع الدالة بنجاح.
قيم الإرجاع
WEAVE_NO_ERROR
في حال تحميل شهادات رمز الدخول بنجاح
tlv-errors
هناك أخطاء في الضبط متعلقة بقراءة TLV.
cert-errors
أخطاء Weave ذات الصلة بفك ترميز شهادات Weave.
platform-errors
أخطاء أخرى متعلقة بالنظام الأساسي

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) لمجموعة معيَّنة من بيانات اعتماد جهاز الترموستات.

التفاصيل
المعلَمات
[in] serialNum
مؤشر إلى المخزن المؤقت الذي يحتوي على الرقم التسلسلي للجهاز.
[in] serialNumLen
طول سلسلة الرقم التسلسلي.
[in] deviceId
مؤشر إلى المخزن المؤقت الذي يتضمن رقم تعريف الجهاز.
[in] deviceIdLen
طول رقم تعريف الجهاز.
[in] deviceSecret
مؤشر إلى المخزن المؤقت الذي يحتوي على سر الجهاز.
[in] deviceSecretLen
طول سر الجهاز.
[in,out] hashBuf
مؤشر إلى المخزن المؤقت الذي سيتلقّى قيمة تجزئة إثبات الملكية، بتنسيق base-64. سيتم إنهاء سلسلة الناتج. يجب ألا يقل حجم هذا المخزن المؤقت عن kDeviceCredentialHashLength + 1.
[in] hashBufSize
الحجم بالبايت من المخزن المؤقت الذي يشير إليه التجزئةBuf.
قيم الإرجاع
WEAVE_NO_ERROR
إذا نجحت الطريقة.
WEAVE_ERROR_INVALID_STRING_LENGTH
إذا كانت إحدى قيم الإدخال طويلة جدًا (> 65535).
WEAVE_ERROR_BUFFER_TOO_SMALL
إذا كان المخزن المؤقت المُدخل صغيرًا جدًا بحيث لا يمكن الاحتفاظ بقيمة التجزئة التي تم إنشاؤها.

أداة 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.

التفاصيل
المعلَمات
[in] nodeId
رقم تعريف عقد Weave للجهاز.
[in] weaveCert
مؤشر إلى المخزن المؤقت الذي يحتوي على شهادة جهاز Weave بتنسيق base-64.
[in] weaveCertLen
طول قيمة الشهادة المُشار إليها من خلال WeaveCert.
[in] weavePrivKey
مؤشر إلى المخزن المؤقت الذي يحتوي على مفتاح Weave الخاص للجهاز بتنسيق base-64.
[in] weavePrivKeyLen
طول قيمة المفتاح الخاص التي يشير إليها WeavePrivKey.
[in] pairingCode
مؤشر إلى المخزن المؤقت الذي يحتوي على رمز إقران الجهاز.
[in] pairingCodeLen
طول قيمة رمز الإقران المُشار إليها من خلال الإقرانCode.
[in,out] hashBuf
مؤشر إلى المخزن المؤقت الذي سيتلقّى قيمة تجزئة إثبات الملكية، بتنسيق base-64. سيتم إنهاء سلسلة الناتج. يجب ألا يقل حجم هذا المخزن المؤقت عن kWeaveتزويدHashLength + 1.
[in] hashBufSize
الحجم بالبايت من المخزن المؤقت الذي يشير إليه التجزئةBuf.
قيم الإرجاع
WEAVE_NO_ERROR
إذا نجحت الطريقة.
WEAVE_ERROR_INVALID_STRING_LENGTH
إذا كانت إحدى قيم الإدخال طويلة جدًا (> 65535).
WEAVE_ERROR_BUFFER_TOO_SMALL
إذا كان المخزن المؤقت المُدخل صغيرًا جدًا بحيث لا يمكن الاحتفاظ بقيمة التجزئة التي تم إنشاؤها.

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.

التفاصيل
المعلَمات
time
تاريخ/وقت التقويم المطلوب تحويله.
packedTime
مرجع إلى عدد صحيح يتلقى تاريخًا/وقتًا مكتوبًا
قيم الإرجاع
WEAVE_NO_ERROR
إذا تم تحويل وقت الإدخال بنجاح.
ASN1_ERROR_UNSUPPORTED_ENCODING
إذا تضمّن وقت الإدخال قيمة سنوية لا يمكن تمثيلها في قيمة وقت شهادة مجمّعة.

وقت التسليم

NL_DLL_EXPORT uint32_t PackedCertDateToTime(
  uint16_t packedDate
)

حوِّل تاريخ الشهادة المجمّعة إلى تاريخ/وقت الشهادة المجمّعة المقابل، حيث يتم ضبط الجزء الزمني من القيمة على 00:00:00.

التفاصيل
المعلَمات
packedDate
تاريخ الشهادة المجمّعة المطلوب تحويلها
المرتجعات
تاريخ/وقت شهادة الحزمة المقابلة.

حتى الآن

NL_DLL_EXPORT uint16_t PackedCertTimeToDate(
  uint32_t packedTime
)

تحويل تاريخ/وقت الشهادة المجمّعة إلى تاريخ شهادة مجمّعة

يحتوي تاريخ الشهادة المجمّعة على حقول dateyear، شهر، يوم مجمّع في عدد صحيح غير موقّع. ويتم تنظيم وحدات البت بحيث تتوافق المقارنات الترتيبية لقيم التاريخ المجمّع مع الترتيب الطبيعي للتواريخ المقابلة. لتقليل الحجم، تقتصر تواريخ الشهادات المجمّعة على التواريخ في 2000/01/01. وعندما يتم حفظ تواريخ الشهادة المجمّعة ضمن عدد صحيح غير موقَّع بدقة 16 بت، يمكن أن تمثل تواريخ تصل إلى سنة 2176.

التفاصيل
المعلَمات
packedTime
تاريخ/وقت الشهادة المجمّعة المطلوب تحويلها
المرتجعات
تاريخ شهادة الحزمة المقابلة.

سمة 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 للتوقيت العالمي المتفق عليه إلى تاريخ/وقت للشهادة المزدحمة.

التفاصيل
المعلَمات
secondsSinceEpoch
عدد الثواني منذ 1970-01-01 00:00:00 بالتوقيت العالمي المنسق (UTC). ملاحظة: هذه القيمة متوافقة مع القيم الموجبة لقيمة POSIX time_t حتى العام 2105.
المرتجعات
تاريخ/وقت شهادة الحزمة المقابلة.

خطأ في OpenSSL

WEAVE_ERROR TranslateOpenSSLError(
  WEAVE_ERROR defaultErr
)

إلغاء حزم البيانات

NL_DLL_EXPORT WEAVE_ERROR UnpackCertTime(
  uint32_t packedTime,
  ASN1UniversalTime & time
)

فك ضغط تاريخ/وقت الشهادة المجمعة في بنية وقت ASN.1 العام.

التفاصيل
المعلَمات
packedTime
وقت تحميل حزمة تم تغليفه.
time
مرجع إلى بنية ASN1UniversalTime لتلقّي التاريخ/الوقت غير المجمّع.
قيم الإرجاع
WEAVE_NO_ERROR
إذا تم فك حزمة الإدخال بنجاح.

التحقق من 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
)