nl:: बुना::प्रोफ़ाइलें::सुरक्षा

इस नेमस्पेस में Weave सुरक्षा प्रोफ़ाइल के लिए, Weave के सभी इंटरफ़ेस शामिल हैं.

खास जानकारी

गिनती

@235 enum
X.509 सर्टिफ़िकेट के मकसद के फ़्लैग.
@236 enum
X.509 प्रमाणपत्र कुंजी के इस्तेमाल वाले फ़्लैग.
@237 enum
वीव सर्टिफ़िकेट फ़्लैग.
@238 enum
Weave प्रमाणपत्र डिकोड फ़्लैग.
@239 enum
Weave प्रमाणपत्र फ़्लैग की पुष्टि करें.
@240 enum
@280 enum
@281 enum
@282 enum
@283 enum
@284 enum
@285 enum
@286 enum
@287 enum
@288 enum
@289 enum

टाइपडेफ़

GenerateECDSASignatureFunct)(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig) टाइपडेफ़
स्थानीय Weave नोड की # और निजी कुंजी का इस्तेमाल करके ECDSA हस्ताक्षर जनरेट करें.

वैरिएबल

gProvisioningBundleKDFSalt = "Weave Provisioning Bundle v1"[]
const char

फ़ंक्शन

CASECertInfoFromAccessToken(const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *certInfoBuf, uint16_t certInfoBufSize, uint16_t & certInfoLen)
वीव ऐक्सेस टोकन को रीड करता है और CASE सर्टिफ़िकेट की जानकारी टीएलवी बनाता है. इसमें ऐक्सेस टोकन से सर्टिफ़िकेट शामिल होते हैं.
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 Access टोकन पढ़ें और ऐक्सेस टोकन सर्टिफ़िकेट निकालें.
ExtractPrivateKeyFromAccessToken(const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *privKeyBuf, uint16_t privKeyBufSize, uint16_t & privKeyLen)
Weave Access टोकन पढ़ें और निजी कुंजी निकालें.
ExtractPrivateKeyFromAccessToken(TLVReader & reader, TLVWriter & writer)
Weave Access टोकन पढ़ें और निजी कुंजी निकालें.
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)
ऐक्सेस टोकन में मौजूद सर्टिफ़िकेट को वीव सर्टिफ़िकेट सेट में लोड करें.
LoadAccessTokenCerts(TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert)
ऐक्सेस टोकन में मौजूद सर्टिफ़िकेट को वीव सर्टिफ़िकेट सेट में लोड करें.
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
थर्मोस्टैट डिवाइस के क्रेडेंशियल के किसी सेट के लिए, पुष्टि करने वाला हैश (बेस-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
Weave प्रावधान की जानकारी के दिए गए सेट के लिए पुष्टि करने वाला हैश जनरेट करें (बेस-64 फ़ॉर्मैट में).
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:: बुनाई::प्रोफ़ाइल::सुरक्षा::CertificateKeyId
nl:: बुनाई::प्रोफ़ाइल::सुरक्षा::पुष्टि करने के लिए टेक्स्ट
nl:: बुनाई::प्रोफ़ाइल::सुरक्षा::WeaveCertificateData
nl:: बुनाई::प्रोफ़ाइल::सुरक्षा::WeaveCertificateSet
nl:: बुनाई::प्रोफ़ाइल::सुरक्षा::WeaveDN
nl:: बुनाई::प्रोफ़ाइल::सुरक्षा::Weave प्रावधानingbundle
nl:: बुनाई::प्रोफ़ाइल::सुरक्षा::WeaveSignatureGenator

इन-मेमोरी निजी कुंजी का इस्तेमाल करके, WeaveSignature जनरेट करता है.

nl:: बुनाई::प्रोफ़ाइल::सुरक्षा::WeaveSignatureGenatorBase

Weaveहस्ताक्षर जनरेट करने के लिए सामान्य सुविधा देता है.

नेमस्पेस

nl:: बुनाई::प्रोफ़ाइल::सुरक्षा::AppKey

इस नेमस्पेस में Weave सुरक्षा प्रोफ़ाइल के अंदर Weave ऐप्लिकेशन कुंजियां लाइब्रेरी के लिए Weave में सभी इंटरफ़ेस शामिल हैं.

nl:: बुना::प्रोफ़ाइल::सुरक्षा::CASE

इस नेमस्पेस में, Weave सुरक्षा प्रोफ़ाइल के अंदर, सर्टिफ़िकेट ऑथेंटेड सेशन इंस्टॉलेशन (CASE) प्रोटोकॉल के लिए, Weave के सभी इंटरफ़ेस शामिल हैं.

nl:: बुना::प्रोफ़ाइल::सुरक्षा::सर्टिफ़िकेशन का तरीका

इस नेमस्पेस में Weave सुरक्षा प्रोफ़ाइल में Weave प्रमाणपत्र प्रावधान प्रोटोकॉल के लिए Weave में सभी इंटरफ़ेस शामिल हैं.

nl:: बुनाई::प्रोफ़ाइल::सुरक्षा::की एक्सपोर्ट

इस नेमस्पेस में Weave सुरक्षा प्रोफ़ाइल के अंदर, कुंजी एक्सपोर्ट प्रोटोकॉल के लिए Weave में सभी इंटरफ़ेस शामिल हैं.

nl:: बुनाई::प्रोफ़ाइल::सुरक्षा::पास

इस नेमस्पेस में Weave सुरक्षा प्रोफ़ाइल के अंदर, पासवर्ड से पुष्टि किए गए सत्र इंस्टॉलेशन के लिए सभी इंटरफ़ेस (PASE) प्रोटोकॉल शामिल है.

nl:: बुनाई::प्रोफ़ाइल::सुरक्षा::पासवर्ड

इस नेमस्पेस में Weave सुरक्षा प्रोफ़ाइल के अंदर Weave पासकोड लाइब्रेरी के लिए सभी इंटरफ़ेस शामिल हैं.

nl:: बुना::प्रोफ़ाइल::सुरक्षा::पाएं

इस नेमस्पेस में, Weave Security प्रोफ़ाइल में टोकन Authed Key Exchange (Take) प्रोटोकॉल के लिए, Weave के सभी इंटरफ़ेस में शामिल है.

गिनती

@235

 @235

X.509 सर्टिफ़िकेट के मकसद के फ़्लैग.

@236 नंबर

 @236

X.509 प्रमाणपत्र कुंजी के इस्तेमाल वाले फ़्लैग.

@237

 @237

वीव सर्टिफ़िकेट फ़्लैग.

इसमें ऐसे सर्टिफ़िकेट के बारे में जानकारी होती है जिसे 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

टाइपडेफ़

ECECDSA सिग्नेचरफ़ंट

WEAVE_ERROR(* GenerateECDSASignatureFunct)(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig)

स्थानीय Weave नोड की # और निजी कुंजी का इस्तेमाल करके ECDSA हस्ताक्षर जनरेट करें.

लागू किए जाने पर, नोड नोड #

ब्यौरा
पैरामीटर
[in] hash
ऐसा बफ़र जिसमें हस्ताक्षर किए जाने वाले सर्टिफ़िकेट का हैश शामिल है.
[in] hashLen
हैश के बाइट में लंबाई.
[in] ecdsaSig
ecdsa सिग्नेचर ऑब्जेक्ट का रेफ़रंस, जहां इस फ़ंक्शन का नतीजा सेव किया जाता है.
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर कार्रवाई पूरी हो गई है.

वैरिएबल

g प्रावधानingbundleKDFSalt

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
)

वीव ऐक्सेस टोकन को रीड करता है और CASE सर्टिफ़िकेट की जानकारी टीएलवी बनाता है. इसमें ऐक्सेस टोकन से सर्टिफ़िकेट शामिल होते हैं.

यह फ़ंक्शन दिए गए Weave ऐक्सेस टोकन को डीकोड करता है और Weave CASE प्रमाणपत्र की जानकारी वाले स्ट्रक्चर के लिए TLV को कोड में बदलता है. CertificateInfo स्ट्रक्चर में EntityCertificate फ़ील्ड को ऐक्सेस टोकन प्रमाणपत्र पर सेट किया जाता है और मिलती-जुलती फ़ील्ड को ऐक्सेस टोकन के अंदर उस फ़ील्ड पर सेट कर दिया जाता है.

ब्यौरा
पैरामीटर
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 स्ट्रक्चर लिखें, जिसमें ऐक्सेस टोकन से सर्टिफ़िकेट शामिल हों.

यह फ़ंक्शन, दिए गए TLVReader से Weave ऐक्सेस टोकन को पढ़ता है और Weave CASE सर्टिफ़िकेट की जानकारी वाले स्ट्रक्चर के लिए, TLVWriter को TLV लिखता है. CertificateInfo स्ट्रक्चर में EntityCertificate फ़ील्ड को ऐक्सेस टोकन प्रमाणपत्र पर सेट किया जाता है और मिलती-जुलती फ़ील्ड को ऐक्सेस टोकन के अंदर उस फ़ील्ड पर सेट कर दिया जाता है.

ब्यौरा
पैरामीटर
[in] reader
Weave ऐक्सेस टोकन पर रखा गया TLVReader.
[in] writer
आउटपुट CASE सर्टिफ़िकेट की जानकारी रिकॉर्ड करने के लिए, TLVWriter का इस्तेमाल किया जाएगा.
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर ऐक्सेस CASE सर्टिफ़िकेट की जानकारी के स्ट्रक्चर को एन्कोड किया गया था.
tlv-errors
TLV पढ़ने या लिखने से जुड़ी बुनाई की गड़बड़ियां.
cert-errors
Weave सर्टिफ़िकेट को डिकोड करने से जुड़ी गड़बड़ियां.
platform-errors
प्लैटफ़ॉर्म से जुड़ी अन्य गड़बड़ियां.

ConvertAuthorityKeyIdentifier extensions

WEAVE_ERROR ConvertAuthorityKeyIdentifierExtension(
  ASN1Reader & reader,
  TLVWriter & writer
)

कन्वर्ट सर्टिफ़िकेट

WEAVE_ERROR ConvertCertificate(
  ASN1Reader & reader,
  TLVWriter & writer
)

ConvertDistinguishedName

WEAVE_ERROR ConvertDistinguishedName(
  ASN1Reader & reader,
  TLVWriter & writer,
  uint64_t tag
)

ConvertECDSAहस्ताक्षर_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
)

ConvertSubjectPublicKeyInfo

WEAVE_ERROR ConvertSubjectPublicKeyInfo(
  ASN1Reader & reader,
  TLVWriter & writer
)

मान्यता बदलें

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
)

DecodeConvertAuthorityKeyIdentifierextensions

WEAVE_ERROR DecodeConvertAuthorityKeyIdentifierExtension(
  TLVReader & reader,
  ASN1Writer & writer,
  WeaveCertificateData & certData
)

डिकोड कन्वर्ज़न बेसिककॉन्सटेंट्स एक्सटेंशन

WEAVE_ERROR DecodeConvertBasicConstraintsExtension(
  TLVReader & reader,
  ASN1Writer & writer,
  WeaveCertificateData & certData
)

डिकोड कन्वर्टर

WEAVE_ERROR DecodeConvertCert(
  TLVReader & reader,
  ASN1Writer & writer,
  WeaveCertificateData & certData
)

डिकोड बदलेंDN

WEAVE_ERROR DecodeConvertDN(
  TLVReader & reader,
  ASN1Writer & writer,
  WeaveDN & dn
)

डिकोड बदलेंईसीडीएसए हस्ताक्षर

WEAVE_ERROR DecodeConvertECDSASignature(
  TLVReader & reader,
  ASN1Writer & writer,
  WeaveCertificateData & certData
)

डिकोड कन्वर्टर एक्सटेंडेडकीइस्तेमाल एक्सटेंशन

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
)

DecodeConvertKeyUsageएक्सटेंशन

WEAVE_ERROR DecodeConvertKeyUsageExtension(
  TLVReader & reader,
  ASN1Writer & writer,
  WeaveCertificateData & certData
)

डिकोड कन्वर्टरए सिग्नेचर

WEAVE_ERROR DecodeConvertRSASignature(
  TLVReader & reader,
  ASN1Writer & writer,
  WeaveCertificateData & certData
)

DecodeConvertSubjectKeyIdentifierएक्सटेंशन

WEAVE_ERROR DecodeConvertSubjectKeyIdentifierExtension(
  TLVReader & reader,
  ASN1Writer & writer,
  WeaveCertificateData & certData
)

DecodeConvertSubjectPublicKeyInfo

WEAVE_ERROR DecodeConvertSubjectPublicKeyInfo(
  TLVReader & reader,
  ASN1Writer & writer,
  WeaveCertificateData & certData
)

डिकोड कन्वर्ज़न टीबीएसटीआरटी

WEAVE_ERROR DecodeConvertTBSCert(
  TLVReader & reader,
  ASN1Writer & writer,
  WeaveCertificateData & certData
)

डिकोड बदलें (मान्य) बदलें

WEAVE_ERROR DecodeConvertValidity(
  TLVReader & reader,
  ASN1Writer & writer,
  WeaveCertificateData & certData
)

डिकोड कॉपीECDSAहस्ताक्षर_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
)

DecodeWeaveECDSAहस्ताक्षर

WEAVE_ERROR DecodeWeaveECDSASignature(
  TLVReader & reader,
  EncodedECDSASignature & sig
)

डिकोड WeaveECPrivateKey

NL_DLL_EXPORT WEAVE_ERROR DecodeWeaveECPrivateKey(
  const uint8_t *buf,
  uint32_t len,
  uint32_t & weaveCurveId,
  EncodedECPublicKey & pubKey,
  EncodedECPrivateKey & privKey
)

DescriptionWeaveCertId

const char * DescribeWeaveCertId(
  OID attrOID,
  uint64_t weaveCertId
)

तय करें

WEAVE_ERROR DetermineCertType(
  WeaveCertificateData & cert
)

Weave प्रमाणपत्र का सामान्य प्रकार तय करें.

यह फ़ंक्शन, सर्टिफ़िकेट और #39; के टाइप का सामान्य आकलन करता है. यह आकलन, उसके विषय डीएन और मौजूद एक्सटेंशन की बनावट के आधार पर होता है. ऐप्लिकेशन में, इस आकलन को बदला जा सकता है. इसके लिए, ऐप्लिकेशन से तय किए गए सर्टिफ़िकेट के साथ-साथ cert.CertType को किसी दूसरी वैल्यू पर सेट करें.

आम तौर पर, ऐप्लिकेशन सिर्फ़ मिलते-जुलते ऐप्लिकेशन के सर्टिफ़िकेट पर तभी भरोसा करेंगे, जब उसे भरोसेमंद रूट सर्टिफ़िकेट से जोड़ा गया हो. हालांकि, प्रमाणपत्र को असाइन किए गए टाइप पर, इस भरोसे की नेचर पर असर पड़ सकता है. उदाहरण के लिए, खास सुविधाओं के ऐक्सेस की अनुमति देना या न देना. इस वजह से, इस एल्गोरिदम में होने वाले बदलावों से पूरे सिस्टम की सुरक्षा पर कई तरह के हस्ताक्षर और संभावित असर हो सकते हैं. नतीजों को अच्छी तरह समझने के बिना ऐसा नहीं करना चाहिए.

नोट: ऐक्सेस टोकन प्रमाणपत्र की पहचान सिर्फ़ उनकी संरचना से नहीं की जा सकती है. इसलिए, यह फ़ंक्शन कभी भी cert.CertType = kCertType_AccessToken सेट नहीं करता है.

EncodeWeaveECDSAहस्ताक्षर

WEAVE_ERROR EncodeWeaveECDSASignature(
  TLVWriter & writer,
  EncodedECDSASignature & sig,
  uint64_t tag
)

एनकोड WeaveECPrivateKey

NL_DLL_EXPORT WEAVE_ERROR EncodeWeaveECPrivateKey(
  uint32_t weaveCurveId,
  const EncodedECPublicKey *pubKey,
  const EncodedECPrivateKey & privKey,
  uint8_t *outBuf,
  uint32_t outBufSize,
  uint32_t & outLen
)

निकालेंCertFromAccessToken

WEAVE_ERROR ExtractCertFromAccessToken(
  TLVReader & reader,
  TLVWriter & writer,
  uint64_t tag
)

Weave Access टोकन पढ़ें और ऐक्सेस टोकन सर्टिफ़िकेट निकालें.

यह फ़ंक्शन TLVReader से Weave Access टोकन पढ़ता है और तय TLVWriter को ऐक्सेस टोकन प्रमाणपत्र लिखता है.

ब्यौरा
पैरामीटर
[in] reader
Weave ऐक्सेस टोकन पर रखा गया TLVReader.
[in] writer
ऐसा TLVWriter जिस पर प्रमाणपत्र लिखा जाएगा.
[in] tag
सर्टिफ़िकेट लिखते समय इस्तेमाल किए जाने वाला TLV टैग.
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर ऐक्सेस CASE सर्टिफ़िकेट की जानकारी के स्ट्रक्चर को एन्कोड किया गया था.
tlv-errors
TLV पढ़ने या लिखने से जुड़ी बुनाई की गड़बड़ियां.
cert-errors
Weave सर्टिफ़िकेट को डिकोड करने से जुड़ी गड़बड़ियां.
platform-errors
प्लैटफ़ॉर्म से जुड़ी अन्य गड़बड़ियां.

निकालें PrivateKeyFromAccessToken

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

Weave Access टोकन पढ़ें और निजी कुंजी निकालें.

यह फ़ंक्शन दिए गए Weave ऐक्सेस टोकन को डीकोड करता है और टोकन से निजी कुंजी फ़ील्ड निकालता है.

ब्यौरा
पैरामीटर
accessToken
बफ़र के लिए एक पॉइंटर, जिसमें कोड में बदले गए Weave ऐक्सेस टोकन है.
accessTokenLen
कोड में बदले गए ऐक्सेस टोकन की लंबाई.
privKeyBuf
बफ़र का वह पॉइंटर जिसमें निजी कुंजी के स्ट्रक्चर को एन्कोड किया जाना चाहिए.
privKeyBufSize
privKeyBuf के ज़रिए बताए गए बफ़र का साइज़.
privKeyLen
किसी पूर्णांक का संदर्भ, निजी कुंजी की लंबाई पर सेट किया जाएगा. ध्यान दें: यह वैल्यू सिर्फ़ तब सेट की जाती है, जब फ़ंक्शन रिटर्न होता है.
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर निजी कुंजी निकाली गई.
tlv-errors
TLV पढ़ने या लिखने से जुड़ी बुनाई की गड़बड़ियां.
cert-errors
Weave सर्टिफ़िकेट को डिकोड करने से जुड़ी गड़बड़ियां.
platform-errors
प्लैटफ़ॉर्म से जुड़ी अन्य गड़बड़ियां.

निकालें PrivateKeyFromAccessToken

WEAVE_ERROR ExtractPrivateKeyFromAccessToken(
  TLVReader & reader,
  TLVWriter & writer
)

Weave Access टोकन पढ़ें और निजी कुंजी निकालें.

यह फ़ंक्शन दिए गए Weave ऐक्सेस टोकन को डीकोड करता है और टोकन से निजी कुंजी फ़ील्ड निकालता है.

ब्यौरा
पैरामीटर
[in] reader
Weave ऐक्सेस टोकन पर रखा गया TLVReader.
[in] writer
ऐसा TLVWriter जिस पर निजी कुंजी लिखी जाएगी.
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर निजी कुंजी निकाली गई.
tlv-errors
TLV पढ़ने या लिखने से जुड़ी बुनाई की गड़बड़ियां.
cert-errors
Weave सर्टिफ़िकेट को डिकोड करने से जुड़ी गड़बड़ियां.
platform-errors
प्लैटफ़ॉर्म से जुड़ी अन्य गड़बड़ियां.

GenerateAndEncodeWeaveECDSAहस्ताक्षर

WEAVE_ERROR GenerateAndEncodeWeaveECDSASignature(
  TLVWriter & writer,
  uint64_t tag,
  const uint8_t *msgHash,
  uint8_t msgHashLen,
  const uint8_t *signingKey,
  uint16_t signingKeyLen
)

Weave ECDSA हस्ताक्षर जनरेट और कोड करें.

किसी निजी कुंजी और मैसेज हैश का इस्तेमाल करके ईसीडीएसए हस्ताक्षर की गणना करता है और दिए गए टैग के साथ खास TLV लेखक को हस्ताक्षर के रूप में Weave ECDSA सिग्नेचर के रूप में लिखता है.

ब्यौरा
पैरामीटर
[in] writer
TLVWriter ऑब्जेक्ट जिस पर कोड में बदला गया हस्ताक्षर लिखा जाना चाहिए.
[in] tag
कोड में बदले गए हस्ताक्षर के स्ट्रक्चर से जोड़ने के लिए, TLV टैग इस्तेमाल करें.
[in] msgHash
ऐसा बफ़र जिसमें मैसेज के हैश पर हस्ताक्षर किया जाएगा.
[in] msgHashLen
हैश हैश के बाइट में लंबाई.
[in] signingKey
ऐसा बफ़र जिसमें हस्ताक्षर जनरेट करने के लिए निजी कुंजी का इस्तेमाल किया जाएगा. निजी कुंजी को Weave EllipticCurvePrivateKey TLV संरचना के रूप में एन्कोड किए जाने की उम्मीद है.
[in] signingKeyLen
कोड में बदली गई निजी कुंजी के बाइट में लंबाई.
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर कार्रवाई पूरी हो गई है.
other
निजी कुंजी को डीकोड करने, हस्ताक्षर जनरेट करने या हस्ताक्षर को कोड में बदलने से जुड़े अन्य Weave गड़बड़ी कोड.

ऑपरेटर-ऑपरेटल डिवाइस Cert

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
)

InsertrelatedCertificatesIntoWeaveहस्ताक्षर

WEAVE_ERROR InsertRelatedCertificatesIntoWeaveSignature(
  uint8_t *sigBuf,
  uint16_t sigLen,
  uint16_t sigBufLen,
  const uint8_t *relatedCerts,
  uint16_t relatedCertsLen,
  uint16_t & outSigLen
)

isCertificateएक्सटेंशनटैग

bool IsCertificateExtensionTag(
  uint64_t tag
)

IsCurveInSet

bool IsCurveInSet(
  uint32_t curveId,
  uint8_t curveSet
)

IsSupportCurve

bool IsSupportedCurve(
  uint32_t curveId
)

IsWeaveIdX509Attr

bool IsWeaveIdX509Attr(
  OID oid
)

IsWeaveX509Attr

bool IsWeaveX509Attr(
  OID oid
)

LockAccessTokenCerts

WEAVE_ERROR LoadAccessTokenCerts(
  const uint8_t *accessToken,
  uint32_t accessTokenLen,
  WeaveCertificateSet & certSet,
  uint16_t decodeFlags,
  WeaveCertificateData *& accessTokenCert
)

ऐक्सेस टोकन में मौजूद सर्टिफ़िकेट को वीव सर्टिफ़िकेट सेट में लोड करें.

यह फ़ंक्शन किसी दिए गए Weave ऐक्सेस टोकन को डीकोड करता है और बताए गए Weave प्रमाणपत्र सेट ऑब्जेक्ट में ऐक्सेस टोकन प्रमाणपत्रों को लोड करता है. अगर ऐक्सेस टोकन में एक या उससे ज़्यादा सर्टिफ़िकेट होते हैं, तो उन्हें भी सर्टिफ़िकेट सेट में लोड किया जाता है.

ब्यौरा
पैरामीटर
accessToken
बफ़र के लिए एक पॉइंटर, जिसमें कोड में बदले गए Weave ऐक्सेस टोकन है.
accessTokenLen
कोड में बदले गए ऐक्सेस टोकन की लंबाई.
certSet
वह प्रमाणपत्र जिसमें ऐक्सेस टोकन के सर्टिफ़िकेट लोड होने चाहिए.
decodeFlags
सर्टिफ़िकेट, फ़्लैग को डीकोड करता है. इन्हें प्रमाणपत्र लोड करते समय इस्तेमाल किया जाना चाहिए.
accessTokenCert
पॉइंटर का रेफ़रंस, जो ऐक्सेस टोकन प्रमाणपत्र के लिए वीव प्रमाणपत्र डेटा संरचना पर सेट किया जाएगा. ध्यान दें: यह पॉइंटर सिर्फ़ तब सेट किया जाएगा, जब फ़ंक्शन सही तरीके से रिटर्न हो जाएगा.
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर ऐक्सेस टोकन के सर्टिफ़िकेट लोड हो गए हों.
tlv-errors
TLV पढ़ने से संबंधित बुनाई की गड़बड़ियां.
cert-errors
Weave सर्टिफ़िकेट को डिकोड करने से जुड़ी गड़बड़ियां.
platform-errors
प्लैटफ़ॉर्म से जुड़ी अन्य गड़बड़ियां.

LockAccessTokenCerts

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

ऐक्सेस टोकन में मौजूद सर्टिफ़िकेट को वीव सर्टिफ़िकेट सेट में लोड करें.

यह फ़ंक्शन किसी दिए गए TLVReader से Weave ऐक्सेस टोकन को पढ़ता है और बताए गए Weave प्रमाणपत्र सेट ऑब्जेक्ट में ऐक्सेस टोकन प्रमाणपत्रों को लोड करता है. अगर ऐक्सेस टोकन में एक या उससे ज़्यादा सर्टिफ़िकेट होते हैं, तो उन्हें भी सर्टिफ़िकेट सेट में लोड किया जाता है.

ब्यौरा
पैरामीटर
reader
TLVReader ऑब्जेक्ट जो Weave Access टोकन से ठीक पहले जगह पर है.
certSet
वह प्रमाणपत्र जिसमें ऐक्सेस टोकन के सर्टिफ़िकेट लोड होने चाहिए.
decodeFlags
सर्टिफ़िकेट, फ़्लैग को डीकोड करता है. इन्हें प्रमाणपत्र लोड करते समय इस्तेमाल किया जाना चाहिए.
accessTokenCert
पॉइंटर का रेफ़रंस, जो ऐक्सेस टोकन प्रमाणपत्र के लिए वीव प्रमाणपत्र डेटा संरचना पर सेट किया जाएगा. ध्यान दें: यह वैल्यू सिर्फ़ तब सेट की जाती है, जब फ़ंक्शन रिटर्न होता है.
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर ऐक्सेस टोकन के सर्टिफ़िकेट लोड हो गए हों.
tlv-errors
TLV पढ़ने से संबंधित बुनाई की गड़बड़ियां.
cert-errors
Weave सर्टिफ़िकेट को डिकोड करने से जुड़ी गड़बड़ियां.
platform-errors
प्लैटफ़ॉर्म से जुड़ी अन्य गड़बड़ियां.

MakeDeviceजांच के लिए हैश

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
)

थर्मोस्टैट डिवाइस के क्रेडेंशियल के किसी सेट के लिए, पुष्टि करने वाला हैश (बेस-64 फ़ॉर्मैट में) जनरेट करें.

ब्यौरा
पैरामीटर
[in] serialNum
बफ़र का एक ऐसा पॉइंटर जिसमें डिवाइस का सीरियल नंबर शामिल है.
[in] serialNumLen
सीरियल नंबर स्ट्रिंग की लंबाई.
[in] deviceId
बफ़र के लिए एक पॉइंटर, जिसमें डिवाइस का आईडी है.
[in] deviceIdLen
डिवाइस की आईडी की लंबाई.
[in] deviceSecret
बफ़र के लिए एक पॉइंटर, जिसमें डिवाइस का सीक्रेट है.
[in] deviceSecretLen
डिवाइस की सीक्रेट लंबाई.
[in,out] hashBuf
बफ़र का वह पॉइंटर जिसे पुष्टि के हैश मान को base-64 फ़ॉर्मैट में मिलेगा. आउटपुट स्ट्रिंग शून्य हो जाएगी. यह बफ़र कम से कम kDeviceCredentialHashLength + 1 जितना बड़ा होना चाहिए.
[in] hashBufSize
हैश की ओर से बताए गए बफ़र के बाइट में साइज़.
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर तरीका सफल हो गया है.
WEAVE_ERROR_INVALID_STRING_LENGTH
अगर कोई एक इनपुट मान बहुत लंबा है (> 65535).
WEAVE_ERROR_BUFFER_TOO_SMALL
अगर जनरेट किया गया बफ़र, जनरेट किए गए हैश मान को होल्ड करने के लिए बहुत छोटा है.

MakeWeaveपैसे चुकाने का हैश

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
)

Weave प्रावधान की जानकारी के दिए गए सेट के लिए पुष्टि करने वाला हैश जनरेट करें (बेस-64 फ़ॉर्मैट में).

ब्यौरा
पैरामीटर
[in] nodeId
डिवाइस का वीव नोड आईडी.
[in] weaveCert
बफ़र के लिए पॉइंटर, जिसमें Base-64 फ़ॉर्मैट में Weave डिवाइस सर्टिफ़िकेट है.
[in] weaveCertLen
WeaveCert से मिली सर्टिफ़िकेट वैल्यू की लंबाई.
[in] weavePrivKey
ऐसे बफ़र के लिए पॉइंटर जिसमें Base-64 फ़ॉर्मैट में Weave डिवाइस की निजी कुंजी है.
[in] weavePrivKeyLen
WeavePrivKey से तय की गई निजी कुंजी के मान की लंबाई.
[in] pairingCode
बफ़र का वह पॉइंटर जिसमें डिवाइस से जोड़ने वाला कोड शामिल है.
[in] pairingCodeLen
दूसरे डिवाइस से जोड़ने वाले कोड की वैल्यू.
[in,out] hashBuf
बफ़र का वह पॉइंटर जिसे पुष्टि के हैश मान को base-64 फ़ॉर्मैट में मिलेगा. आउटपुट स्ट्रिंग शून्य हो जाएगी. यह बफ़र कम से कम kWeave प्रावधानingHashLength + 1 जितना बड़ा होना चाहिए.
[in] hashBufSize
हैश की ओर से बताए गए बफ़र के बाइट में साइज़.
सामान लौटाने की वैल्यू
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 and notafter) जिन्हें समझने के लिए पूरे कैलेंडर गणित की ज़रूरत नहीं होती.

पैक किए गए सर्टिफ़िकेट की तारीख/समय में, कैलेंडर की तारीख/समय के फ़ील्ड शामिल होते हैं. जैसे, साल, महीना, दिन, घंटे, मिनट, सेकंड में हस्ताक्षर नहीं किए गए पूर्णांक में. बिट प्रज़ेंटेशन को इस तरह व्यवस्थित किया जाता है कि पैक की गई तारीख/समय के वैल्यू की क्रम से तुलना, संबंधित समय के स्वाभाविक क्रम के मुताबिक होती है. उनका साइज़ कम करने के लिए, पैक किए गए सर्टिफ़िकेट की तारीख/समय, 2000/01/01 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
)

प्रिंट प्रमाणपत्र

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
)

प्रिंट प्रमाणपत्र

WEAVE_ERROR PrintCertReference(
  FILE *out,
  TLVReader & reader,
  uint16_t indent
)

PrintCertType

void PrintCertType(
  FILE *out,
  uint8_t certType
)

PrintCertपुष्टि के नतीजे

NL_DLL_EXPORT void PrintCertValidationResults(
  FILE *out,
  const WeaveCertificateSet & certSet,
  const ValidationContext & validContext,
  uint16_t indent
)

PrintECDSAहस्ताक्षर

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
)

प्रिंटपैक किया गया समय

void PrintPackedTime(
  FILE *out,
  uint32_t t
)

प्रिंट WeaveDN

void PrintWeaveDN(
  FILE *out,
  const WeaveDN & dn
)

प्रिंट WeaveDN

WEAVE_ERROR PrintWeaveDN(
  FILE *out,
  TLVReader & reader
)

प्रिंट Weaveहस्ताक्षर

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 यूटीसी से सेकंड की संख्या. ध्यान दें: यह वैल्यू, साल 2105 तक के POSIX टाइम_टी वैल्यू के पॉज़िटिव वैल्यू के साथ काम करती है.
लौटाए गए सामान
पैकेट सर्टिफ़िकेट की तारीख/समय.

TranslateOpenSSL गड़बड़ी

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
अगर इनपुट समय को अनपैक किया गया हो.

WeaveSignature की पुष्टि करें

NL_DLL_EXPORT WEAVE_ERROR VerifyWeaveSignature(
  const uint8_t *msgHash,
  uint8_t msgHashLen,
  const uint8_t *sig,
  uint16_t sigLen,
  WeaveCertificateSet & certSet,
  ValidationContext & certValidContext
)

WeaveSignature की पुष्टि करें

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
)