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)
يقرأ رمز دخول Weave وينشئ بنية TLV لمعلومات شهادة CASE تحتوي على الشهادات من رمز الدخول.
CASECertInfoFromAccessToken(TLVReader & reader, TLVWriter & writer)
تقرأ رمز دخول Weave ويكتب بنية TLV لمعلومات شهادة CASE تحتوي على الشهادات من رمز الدخول.
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) ضمن الملف الشخصي للأمان في Weave.

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 لبروتوكول تبادل المفاتيح المصادق للرمز المميّز (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 وينشئ بنية TLV لمعلومات شهادة CASE تحتوي على الشهادات من رمز الدخول.

تفك هذه الدالة ترميز رمز دخول Weave معيّن وترميز TLV لبنية معلومات شهادة Weave CASE. يتم ضبط حقل EntityCertificate داخل بنية 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 ويكتب بنية TLV لمعلومات شهادة CASE تحتوي على الشهادات من رمز الدخول.

تقرأ هذه الدالة رمز دخول Weave من قارئ TLVReader معيّن وتكتب TLV لبنية معلومات شهادة Weave CASE إلى TLVWriter. يتم ضبط حقل EntityCertificate داخل بنية 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 ومشفّرة بتنسيق Weave TLV.

التفاصيل
المَعلمات
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
الحجم بالبايت من المخزن المؤقت المشار إليه بواسطة valueBuf.
قيم الإرجاع
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
طول قيمة رمز الإقران المشار إليه من خلال clientCode.
[in,out] hashBuf
يشير هذا المصطلح إلى مؤشر لمخزن مؤقّت سيتلقّى قيمة تجزئة التحقّق بتنسيق Base-64. سيتم إنهاء سلسلة الإخراج فارغة. يجب أن يبلغ حجم هذا المخزن المؤقت على الأقل kWeaveCoveringHashLength + 1.
[in] hashBufSize
الحجم بالبايت من المخزن المؤقت المشار إليه بواسطة valueBuf.
قيم الإرجاع
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) إلى تاريخ/وقت الشهادة معبأ.

توفّر تواريخ/أوقات الشهادة المشفَّرة تمثيلاً مصغّرًا لقيم الوقت في الشهادة (not before وnotAfter) لا تتطلّب شرحًا فوريًا لعمليات حسابية تقويم كاملة.

يحتوي تاريخ/وقت الشهادة على حقول تاريخ/وقت التقويم، أي السنة، الشهر، اليوم، الساعة، الدقيقة، المجموعة الثانية في عدد صحيح غير موقَّع. يتم تنظيم تمثيل البت بحيث تتوافق المقارنات الترتيبية لقيم التاريخ/الوقت مع الترتيب الطبيعي للأوقات المقابلة. ولتقليل حجم هذه الشهادات، تقتصر أوقات/تواريخ الشهادة المضغوطة على تمثيل الأوقات التي تقع في 01/01/2000/01/00 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
)

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

يحتوي تاريخ الشهادة الحزمة على حقول تاريخ تقويم، سنة، شهر، مجمعة في عدد صحيح غير موقع. يتم تنظيم وحدات البت بحيث تتوافق المقارنات الترتيبية لقيم التاريخ المضغوطة مع الترتيب الطبيعي للتواريخ المقابلة. ولتقليل حجم هذه الشهادات، تقتصر تواريخ الشهادات المضغوطة على تواريخ في 01/01/2000 أو بعد هذا التاريخ. وعند وضعها ضمن عدد صحيح غير موقَّع مكوَّن من 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 UTC. ملاحظة: تتوافق هذه القيمة مع القيم الإيجابية لقيمة 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
)