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)
قراءة رمز الدخول Weave وإنشاء بنية CASE معلومات الشهادة TLV التي تحتوي على الشهادات من رمز الدخول.
CASECertInfoFromAccessToken(TLVReader & reader, TLVWriter & writer)
يقرأ رمز الدخول Weave ويكتب بنية 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) لمجموعة معيّنة من بيانات اعتماد جهاز 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::Weave::Profiles::Security::CertificateKeyId
nl::Weave::Profiles::Security::ValidationContext
nl::Weave::Profiles::Security::WeaveCertificateData
nl::Weave::Profiles::Security::WeaveCertificateSet
nl::Weave::Profiles::Security::WeaveDN
nl::Weave::Profiles::Security::WeaveProvisioningBundle
nl::Weave::Profiles::Security::WeaveSignatureGenerator

تنشئ WeaveSignature باستخدام مفتاح خاص داخل الذاكرة.

nl::Weave::Profiles::Security::WeaveSignatureGeneratorBase

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

مساحات الاسم

nl::Weave::Profiles::Security::AppKeys

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

nl::Weave::Profiles::Security::CASE

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

nl::Weave::Profiles::Security::CertProvisioning

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

nl::Weave::Profiles::Security::KeyExport

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

nl::Weave::Profiles::Security::PASE

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

nl::Weave::Profiles::Security::Passcodes

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

nl::Weave::Profiles::Security::TAKE

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

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

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

المتغيرات

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 (إن وُجد) على الحقل المقابل داخل رمز الدخول.

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

CASECertInfoFromAccessToken

WEAVE_ERROR CASECertInfoFromAccessToken(
  TLVReader & reader,
  TLVWriter & writer
)

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

تقرأ هذه الدالة رمز Weave Access Token من TLVReader وتكتب TLV لبنية معلومات CASE المتعلقة بشهادة Weave إلى TLVWriter. يتم تعيين حقل "شهادة الكيان" داخل بنية CertificateInfo على شهادة رمز الدخول، ويتم تعيين حقل RelatedCertificates (إن وُجد) على الحقل المقابل داخل رمز الدخول.

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

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 المحدد.

التفاصيل
المعلمات
[in] reader
TLVReader موضوع على رمز الدخول Weave.
[in] writer
TLVWriter الذي ستتم كتابة الشهادة إليه.
[in] tag
العلامة TLV المطلوب استخدامها عند كتابة الشهادة.
قيم الإرجاع
WEAVE_NO_ERROR
في حال تم ترميز بنية معلومات شهادة CASE بنجاح.
tlv-errors
ربط الأخطاء المرتبطة بقراءة أو كتابة TLV
cert-errors
الربط بين الأخطاء المتعلقة بفك ترميز شهادات 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 وتستخرج حقل المفتاح الخاص من الرمز المميّز.

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

ExtractPrivateKeyFromAccessToken

WEAVE_ERROR ExtractPrivateKeyFromAccessToken(
  TLVReader & reader,
  TLVWriter & writer
)

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

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

التفاصيل
المعلمات
[in] reader
TLVReader موضوع على رمز الدخول Weave.
[in] writer
TLVWriter الذي ستتم كتابة المفتاح الخاص إليه.
قيم الإرجاع
WEAVE_NO_ERROR
إذا تم استخراج المفتاح الخاص بنجاح.
tlv-errors
ربط الأخطاء المرتبطة بقراءة أو كتابة TLV
cert-errors
الربط بين الأخطاء المتعلقة بفك ترميز شهادات 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 ECDSASignature لكاتب TLV المحدَّد باستخدام العلامة المحدّدة.

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

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.

التفاصيل
المعلمات
deviceId
نسيج رقم تعريف الجهاز التشغيلي.
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
)

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 المحدد. إذا كانت رموز الدخول تحتوي على شهادة ذات صلة واحدة أو أكثر، يتم تحميلها في مجموعة الشهادات أيضًا.

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

التفاصيل
المعلمات
[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
إذا كان المخزن المؤقت المقدم صغيرًا جدًا بحيث لا يمكن الاحتفاظ بقيمة التجزئة التي تم إنشاؤها.

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.

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

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.

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

PackedCertDateToTime

NL_DLL_EXPORT uint32_t PackedCertDateToTime(
  uint16_t packedDate
)

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

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

PackedCertTimeToDate

NL_DLL_EXPORT uint16_t PackedCertTimeToDate(
  uint32_t packedTime
)

ويمكنك تحويل تاريخ/وقت شهادة مضغوطة إلى تاريخ شهادة مضغوطة.

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

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

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) إلى تاريخ/وقت شهادة مضغوطة.

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

TranslateOpenSSLError

WEAVE_ERROR TranslateOpenSSLError(
  WEAVE_ERROR defaultErr
)

UnpackCertTime

NL_DLL_EXPORT WEAVE_ERROR UnpackCertTime(
  uint32_t packedTime,
  ASN1UniversalTime & time
)

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

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

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
)