nl:: বুনা:: প্রোফাইল:: নিরাপত্তা

এই নেমস্পেসটি উইভ সিকিউরিটি প্রোফাইলের জন্য উইভের মধ্যে সমস্ত ইন্টারফেস অন্তর্ভুক্ত করে।

সারাংশ

গণনা

@235 enum
X.509 সার্টিফিকেট মূল উদ্দেশ্য পতাকা।
@236 enum
X.509 সার্টিফিকেট কী ইউসেজ ফ্ল্যাগ।
@237 enum
শংসাপত্রের পতাকা বুনন।
@238 enum
বুনা শংসাপত্র ডিকোড পতাকা.
@239 enum
বুনা শংসাপত্র বৈধ পতাকা.
@240 enum
@280 enum
@281 enum
@282 enum
@283 enum
@284 enum
@285 enum
@286 enum
@287 enum
@288 enum
@289 enum

Typedefs

GenerateECDSASignatureFunct )(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig) typedef
স্থানীয় উইভ নোডের ব্যক্তিগত কী ব্যবহার করে একটি 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 শংসাপত্র তথ্য TLV কাঠামো তৈরি করে।
CASECertInfoFromAccessToken ( TLVReader & reader, TLVWriter & writer)
একটি ওয়েভ অ্যাক্সেস টোকেন পড়ে এবং অ্যাক্সেস টোকেন থেকে সার্টিফিকেট ধারণকারী একটি 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)
একটি উইভ সার্টিফিকেটের সাধারণ ধরন নির্ধারণ করুন।
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)
একটি ওয়েভ অ্যাক্সেস টোকেন পড়ে এবং অ্যাক্সেস টোকেন সার্টিফিকেট বের করে।
ExtractPrivateKeyFromAccessToken (const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *privKeyBuf, uint16_t privKeyBufSize, uint16_t & privKeyLen)
একটি ওয়েভ অ্যাক্সেস টোকেন পড়ে এবং ব্যক্তিগত কী বের করে।
ExtractPrivateKeyFromAccessToken ( TLVReader & reader, TLVWriter & writer)
একটি ওয়েভ অ্যাক্সেস টোকেন পড়ে এবং ব্যক্তিগত কী বের করে।
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
উইভ অপারেশনাল ডিভাইস সার্টিফিকেট তৈরি করুন।
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
উইভ প্রভিশনিং তথ্যের একটি প্রদত্ত সেটের জন্য একটি যাচাইকরণ হ্যাশ (বেস-64 বিন্যাসে) তৈরি করুন।
OIDToWeaveCurveId (ASN1::OID curveOID)
uint32_t
PackCertTime (const ASN1UniversalTime & time, uint32_t & packedTime)
NL_DLL_EXPORT WEAVE_ERROR
একটি শংসাপত্রের তারিখ/সময় (এএসএন.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:: বুনা:: প্রোফাইল:: নিরাপত্তা:: CertificateKeyId
nl:: বুনা:: প্রোফাইল:: নিরাপত্তা:: বৈধতা প্রসঙ্গ
nl:: বুনন:: প্রোফাইল:: নিরাপত্তা:: WeaveCertificateData
nl:: বুনন:: প্রোফাইল:: নিরাপত্তা:: WeaveCertificateSet
nl:: বুনন:: প্রোফাইল:: নিরাপত্তা:: WeaveDN
nl:: বুনন:: প্রোফাইল:: নিরাপত্তা:: WeaveProvisioningBundle
nl:: বুনন:: প্রোফাইল:: নিরাপত্তা:: WeaveSignatureGenerator

একটি ইন-মেমরি ব্যক্তিগত কী ব্যবহার করে একটি WeaveSignature তৈরি করে।

nl:: বুনা:: প্রোফাইল:: নিরাপত্তা:: WeaveSignatureGeneratorBase

WeaveSignatures তৈরির জন্য জেনেরিক কার্যকারিতা প্রদান করে।

নামস্থান

nl:: বুনা:: প্রোফাইল:: নিরাপত্তা:: AppKeys

এই নেমস্পেসটি উইভ সিকিউরিটি প্রোফাইলের মধ্যে ওয়েভ অ্যাপ্লিকেশন কী লাইব্রেরির জন্য উইভ-এর মধ্যে সমস্ত ইন্টারফেস অন্তর্ভুক্ত করে।

nl:: বুনা:: প্রোফাইল:: নিরাপত্তা:: CASE

এই নেমস্পেসটি উইভ সিকিউরিটি প্রোফাইলের মধ্যে সার্টিফিকেট অথেনটিকেটেড সেশন এস্টাব্লিশমেন্ট ( CASE ) প্রোটোকলের জন্য উইভ-এর মধ্যে সমস্ত ইন্টারফেস অন্তর্ভুক্ত করে।

nl:: বুনা:: প্রোফাইল:: নিরাপত্তা:: CertProvisioning

এই নেমস্পেসটি উইভ সিকিউরিটি প্রোফাইলের মধ্যে ওয়েভ সার্টিফিকেট প্রভিশনিং প্রোটোকলের জন্য উইভ-এর মধ্যে সমস্ত ইন্টারফেস অন্তর্ভুক্ত করে।

nl:: বুনা:: প্রোফাইল:: নিরাপত্তা:: কী এক্সপোর্ট

এই নেমস্পেসটি উইভ সিকিউরিটি প্রোফাইলের মধ্যে কী এক্সপোর্ট প্রোটোকলের জন্য উইভ-এর মধ্যে সমস্ত ইন্টারফেস অন্তর্ভুক্ত করে।

nl:: বুনা:: প্রোফাইল:: নিরাপত্তা:: PASE

এই নেমস্পেসটি উইভ সিকিউরিটি প্রোফাইলের মধ্যে পাসওয়ার্ড অথেনটিকেটেড সেশন এস্টাব্লিশমেন্ট ( PASE ) প্রোটোকলের জন্য উইভ-এর মধ্যে সমস্ত ইন্টারফেস অন্তর্ভুক্ত করে।

nl:: বুনা:: প্রোফাইল:: নিরাপত্তা:: পাসকোড

এই নেমস্পেসটি উইভ সিকিউরিটি প্রোফাইলের মধ্যে উইভ পাসকোড লাইব্রেরির জন্য উইভ-এর মধ্যে সমস্ত ইন্টারফেস অন্তর্ভুক্ত করে।

nl:: বুনা:: প্রোফাইল:: নিরাপত্তা:: নিন

এই নেমস্পেসটি উইভ সিকিউরিটি প্রোফাইলের মধ্যে টোকেন অথেনটিকেটেড কী এক্সচেঞ্জ ( টেক ) প্রোটোকলের জন্য উইভ-এর মধ্যে সমস্ত ইন্টারফেস অন্তর্ভুক্ত করে।

গণনা

@235

 @235

X.509 সার্টিফিকেট মূল উদ্দেশ্য পতাকা।

@236

 @236

X.509 সার্টিফিকেট কী ইউসেজ ফ্ল্যাগ।

@237

 @237

শংসাপত্রের পতাকা বুনন।

একটি শংসাপত্র সম্পর্কে তথ্য রয়েছে যা একটি WeaveCertSet অবজেক্টে লোড করা হয়েছে৷

@238

 @238

বুনা শংসাপত্র ডিকোড পতাকা.

একটি শংসাপত্র কিভাবে ডিকোড করা উচিত তা উল্লেখ করে তথ্য রয়েছে৷

@239

 @239

বুনা শংসাপত্র বৈধ পতাকা.

একটি শংসাপত্র কীভাবে যাচাই করা উচিত তা উল্লেখ করে তথ্য রয়েছে৷

@240

 @240

@280

 @280

@281

 @281

@২৮২

 @282

@283

 @283

@284

 @284

@285

 @285

@286

 @286

@287

 @287

@২৮৮

 @288

@২৮৯

 @289

Typedefs

ECDSASignatureFunct তৈরি করুন

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

স্থানীয় উইভ নোডের ব্যক্তিগত কী ব্যবহার করে একটি ECDSA স্বাক্ষর তৈরি করুন।

যখন আহ্বান করা হয়, তখন বাস্তবায়নকে অবশ্যই নোডের ব্যক্তিগত কী ব্যবহার করে প্রদত্ত হ্যাশ মানের একটি স্বাক্ষর গণনা করতে হবে।

বিস্তারিত
পরামিতি
[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
)

একটি ওয়েভ অ্যাক্সেস টোকেন পড়ে এবং অ্যাক্সেস টোকেন থেকে সার্টিফিকেট ধারণকারী একটি CASE শংসাপত্র তথ্য TLV কাঠামো তৈরি করে।

এই ফাংশনটি একটি প্রদত্ত ওয়েভ অ্যাক্সেস টোকেন ডিকোড করে এবং একটি ওয়েভ CASE সার্টিফিকেট তথ্য কাঠামোর জন্য TLV এনকোড করে। CertificateInfo কাঠামোর মধ্যে Entity Certificate ক্ষেত্রটি অ্যাক্সেস টোকেন শংসাপত্রে সেট করা হয়েছে, এবং Related Certificates ক্ষেত্র (যদি উপস্থিত থাকে) অ্যাক্সেস টোকেনের মধ্যে সংশ্লিষ্ট ক্ষেত্রে সেট করা হয়।

বিস্তারিত
পরামিতি
accessToken
একটি এনকোডেড উইভ অ্যাক্সেস টোকেন ধারণকারী একটি বাফারের একটি পয়েন্টার।
accessTokenLen
এনকোড করা অ্যাক্সেস টোকেনের দৈর্ঘ্য।
certInfoBuf
একটি বাফারের একটি পয়েন্টার যেখানে CASE শংসাপত্রের তথ্য কাঠামো এনকোড করা উচিত৷
certInfoBufSize
certInfoBuf দ্বারা নির্দেশিত বাফারের আকার।
certInfoLen
একটি পূর্ণসংখ্যার একটি রেফারেন্স এনকোডেড শংসাপত্র তথ্য কাঠামোর দৈর্ঘ্যে সেট করা হবে। দ্রষ্টব্য: এই মানটি তখনই সেট করা হয় যখন ফাংশনটি সফলভাবে ফিরে আসে।
রিটার্ন মান
WEAVE_NO_ERROR
যদি অ্যাক্সেস CASE শংসাপত্র তথ্য কাঠামো সফলভাবে এনকোড করা হয়।
tlv-errors
TLV পড়া বা লেখার সাথে সম্পর্কিত বুনা ত্রুটি।
cert-errors
উইভ সার্টিফিকেট ডিকোডিং সম্পর্কিত বুনা ত্রুটি।
platform-errors
অন্যান্য প্ল্যাটফর্ম-নির্দিষ্ট ত্রুটি।

CASECertInfoFromAccessToken

WEAVE_ERROR CASECertInfoFromAccessToken(
  TLVReader & reader,
  TLVWriter & writer
)

একটি ওয়েভ অ্যাক্সেস টোকেন পড়ে এবং অ্যাক্সেস টোকেন থেকে সার্টিফিকেট ধারণকারী একটি CASE শংসাপত্র তথ্য TLV কাঠামো লেখে।

এই ফাংশনটি একটি প্রদত্ত TLVReader থেকে একটি ওয়েভ অ্যাক্সেস টোকেন পড়ে এবং একটি TLVWriterকে একটি Weave CASE সার্টিফিকেট তথ্য কাঠামোর জন্য TLV লিখে। CertificateInfo কাঠামোর মধ্যে Entity Certificate ক্ষেত্রটি অ্যাক্সেস টোকেন শংসাপত্রে সেট করা হয়েছে, এবং Related Certificates ক্ষেত্র (যদি উপস্থিত থাকে) অ্যাক্সেস টোকেনের মধ্যে সংশ্লিষ্ট ক্ষেত্রে সেট করা হয়।

বিস্তারিত
পরামিতি
[in] reader
ওয়েভ অ্যাক্সেস টোকেনে অবস্থিত একটি TLVReader।
[in] writer
আউটপুট CASE শংসাপত্রের তথ্য রেকর্ড করতে একটি TLVWriter ব্যবহার করা হবে।
রিটার্ন মান
WEAVE_NO_ERROR
যদি অ্যাক্সেস CASE শংসাপত্র তথ্য কাঠামো সফলভাবে এনকোড করা হয়।
tlv-errors
TLV পড়া বা লেখার সাথে সম্পর্কিত বুনা ত্রুটি।
cert-errors
উইভ সার্টিফিকেট ডিকোডিং সম্পর্কিত বুনা ত্রুটি।
platform-errors
অন্যান্য প্ল্যাটফর্ম-নির্দিষ্ট ত্রুটি।

ConvertAuthorityKeyIdentifierExtension

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
)

ConvertECDSAS স্বাক্ষর_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
)

DecodeConvertAuthorityKeyIdentifierExtension

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

ডিকোড কনভার্ট বেসিক কনস্ট্রেন্টস এক্সটেনশন

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
)

DecodeConvertECDSAS স্বাক্ষর

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

DecodeConvertExtendedKeyUsageExtension

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
)

DecodeConvertKeyUsageExtension

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

DecodeConvertRSAS স্বাক্ষর

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
)

ডিকোড কনভার্ট ভ্যালিডিটি

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

ডিকোডকপিECDSAS স্বাক্ষর_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
)

DecodeWeaveECDSAS স্বাক্ষর

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
)

সার্ট টাইপ নির্ধারণ করুন

WEAVE_ERROR DetermineCertType(
  WeaveCertificateData & cert
)

একটি উইভ সার্টিফিকেটের সাধারণ ধরন নির্ধারণ করুন।

এই ফাংশনটি সার্টিফিকেটের প্রকারের একটি সাধারণ মূল্যায়ন করে তার বিষয়ের DN এবং উপস্থিত এক্সটেনশনের কাঠামোর উপর ভিত্তি করে। অ্যাপ্লিকেশনগুলি cert.CertType-কে একটি অ্যাপ্লিকেশন-সংজ্ঞায়িত একটি সহ অন্য মানতে সেট করে এই মূল্যায়নকে ওভাররাইড করতে বিনামূল্যে।

সাধারণভাবে, অ্যাপ্লিকেশনগুলি শুধুমাত্র একজন সহকর্মীর শংসাপত্রকে বিশ্বাস করবে যদি এটি একটি বিশ্বস্ত রুট শংসাপত্রের সাথে চেইন করে। যাইহোক, একটি শংসাপত্রের জন্য নির্ধারিত ধরন এই বিশ্বাসের প্রকৃতিকে প্রভাবিত করতে পারে, যেমন নির্দিষ্ট বৈশিষ্ট্যগুলিতে অ্যাক্সেসের অনুমতি দেওয়া বা অননুমোদিত করা। এই কারণে, এই অ্যালগরিদমের পরিবর্তনগুলি সামগ্রিক সিস্টেমের নিরাপত্তার উপর খুব তাৎপর্যপূর্ণ এবং সম্ভাব্য বিপর্যয়কর প্রভাব ফেলতে পারে, এবং এর প্রভাবগুলি পুঙ্খানুপুঙ্খভাবে বোঝা ছাড়া করা উচিত নয়৷

দ্রষ্টব্য: অ্যাক্সেস টোকেন শংসাপত্রগুলিকে শুধুমাত্র তাদের গঠন দ্বারা আলাদা করা যায় না। সুতরাং এই ফাংশনটি কখনই cert.CertType = kCertType_AccessToken সেট করে না।

EncodeWeaveECDSAS স্বাক্ষর

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
)

একটি ওয়েভ অ্যাক্সেস টোকেন পড়ে এবং অ্যাক্সেস টোকেন সার্টিফিকেট বের করে।

এই ফাংশনটি একটি TLVReader থেকে একটি ওয়েভ অ্যাক্সেস টোকেন পড়ে এবং একটি নির্দিষ্ট TLVWriter-এ অ্যাক্সেস টোকেন শংসাপত্র লেখে।

বিস্তারিত
পরামিতি
পাঠক
ওয়েভ অ্যাক্সেস টোকেনে অবস্থিত একটি TLVReader।
লেখক
একটি TLVWriter যার কাছে শংসাপত্র লেখা হবে৷
ট্যাগ
শংসাপত্র লেখার সময় ব্যবহার করা TLV ট্যাগ।
রিটার্ন মান
WEAVE_NO_ERROR
যদি অ্যাক্সেস CASE শংসাপত্র তথ্য কাঠামো সফলভাবে এনকোড করা হয়।
tlv-ত্রুটি
TLV পড়া বা লেখার সাথে সম্পর্কিত বুনা ত্রুটি।
শংসাপত্র-ত্রুটি
উইভ সার্টিফিকেট ডিকোডিং সম্পর্কিত বুনা ত্রুটি।
প্ল্যাটফর্ম-ত্রুটি
অন্যান্য প্ল্যাটফর্ম-নির্দিষ্ট ত্রুটি।

এক্সট্রাক্ট প্রাইভেটকিফ্রম অ্যাকসেস টোকেন

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

একটি ওয়েভ অ্যাক্সেস টোকেন পড়ে এবং ব্যক্তিগত কী বের করে।

এই ফাংশনটি একটি প্রদত্ত ওয়েভ অ্যাক্সেস টোকেন ডিকোড করে এবং টোকেন থেকে ব্যক্তিগত কী ক্ষেত্রটি বের করে।

বিস্তারিত
পরামিতি
অ্যাক্সেস টোকেন
একটি এনকোডেড উইভ অ্যাক্সেস টোকেন ধারণকারী একটি বাফারের একটি পয়েন্টার।
অ্যাক্সেস টোকেনলেন
এনকোড করা অ্যাক্সেস টোকেনের দৈর্ঘ্য।
privKeyBuf
একটি বাফারের একটি পয়েন্টার যেখানে ব্যক্তিগত কী কাঠামো এনকোড করা উচিত।
privKeyBufSize
privKeyBuf দ্বারা নির্দেশিত বাফারের আকার।
privKeyLen
একটি পূর্ণসংখ্যার একটি রেফারেন্স ব্যক্তিগত কীটির দৈর্ঘ্যে সেট করা হবে। দ্রষ্টব্য: এই মানটি তখনই সেট করা হয় যখন ফাংশনটি সফলভাবে ফিরে আসে।
রিটার্ন মান
WEAVE_NO_ERROR
যদি ব্যক্তিগত কীটি সফলভাবে বের করা হয়।
tlv-ত্রুটি
TLV পড়া বা লেখার সাথে সম্পর্কিত বুনা ত্রুটি।
শংসাপত্র-ত্রুটি
উইভ সার্টিফিকেট ডিকোডিং সম্পর্কিত বুনা ত্রুটি।
প্ল্যাটফর্ম-ত্রুটি
অন্যান্য প্ল্যাটফর্ম-নির্দিষ্ট ত্রুটি।

এক্সট্রাক্ট প্রাইভেটকিফ্রম অ্যাকসেস টোকেন

WEAVE_ERROR ExtractPrivateKeyFromAccessToken(
  TLVReader & reader,
  TLVWriter & writer
)

একটি ওয়েভ অ্যাক্সেস টোকেন পড়ে এবং ব্যক্তিগত কী বের করে।

এই ফাংশনটি একটি প্রদত্ত ওয়েভ অ্যাক্সেস টোকেন ডিকোড করে এবং টোকেন থেকে ব্যক্তিগত কী ক্ষেত্রটি বের করে।

বিস্তারিত
পরামিতি
পাঠক
ওয়েভ অ্যাক্সেস টোকেনে অবস্থিত একটি TLVReader।
লেখক
একটি TLVWriter যেখানে ব্যক্তিগত কী লেখা হবে।
রিটার্ন মান
WEAVE_NO_ERROR
যদি ব্যক্তিগত কীটি সফলভাবে বের করা হয়।
tlv-ত্রুটি
TLV পড়া বা লেখার সাথে সম্পর্কিত বুনা ত্রুটি।
শংসাপত্র-ত্রুটি
উইভ সার্টিফিকেট ডিকোডিং সম্পর্কিত বুনা ত্রুটি।
প্ল্যাটফর্ম-ত্রুটি
অন্যান্য প্ল্যাটফর্ম-নির্দিষ্ট ত্রুটি।

জেনারেটএন্ডএনকোডওয়েভইসিডিএসএসিইনেচার

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 স্বাক্ষর গণনা করে এবং প্রদত্ত ট্যাগ সহ নির্দিষ্ট TLV লেখকের কাছে একটি উইভ ECDSAS স্বাক্ষর কাঠামো হিসাবে স্বাক্ষরটি লিখুন।

বিস্তারিত
পরামিতি
লেখক
TLVWriter অবজেক্ট যেখানে এনকোড করা স্বাক্ষর লেখা উচিত।
ট্যাগ
TLV ট্যাগ এনকোডেড স্বাক্ষর কাঠামোর সাথে যুক্ত হতে হবে।
[in] msgHash
স্বাক্ষর করার জন্য বার্তাটির হ্যাশ ধারণকারী একটি বাফার।
[in] msgHashLen
বার্তা হ্যাশের বাইটে দৈর্ঘ্য।
সাইনিং কী
স্বাক্ষর তৈরি করতে ব্যবহৃত ব্যক্তিগত কী ধারণকারী একটি বাফার। প্রাইভেট কীটি একটি উইভ ইলিপটিক কার্ভপ্রাইভেটকি TLV কাঠামো হিসাবে এনকোড করা হবে বলে আশা করা হচ্ছে।
সাইনিং কিলেন
এনকোড করা ব্যক্তিগত কী-এর বাইটে দৈর্ঘ্য।
রিটার্ন মান
WEAVE_NO_ERROR
অপারেশন সফল হলে।
অন্যান্য
প্রাইভেট কী ডিকোডিং, স্বাক্ষর তৈরি করা বা স্বাক্ষর এনকোডিং সম্পর্কিত অন্যান্য বুনা ত্রুটি কোড।

Operational Device Cert জেনারেট করুন

NL_DLL_EXPORT WEAVE_ERROR GenerateOperationalDeviceCert(
  uint64_t deviceId,
  EncodedECPublicKey & devicePubKey,
  uint8_t *cert,
  uint16_t certBufSize,
  uint16_t & certLen,
  GenerateECDSASignatureFunct genCertSignature
)

উইভ অপারেশনাল ডিভাইস সার্টিফিকেট তৈরি করুন।

এই ফাংশনটি উইভ টিএলভি ফর্ম্যাটে এনকোড করা ওয়েভ স্ব-স্বাক্ষরিত অপারেশনাল সার্টিফিকেট তৈরি করে।

বিস্তারিত
পরামিতি
ডিভাইস আইডি
ওয়েভ অপারেশনাল ডিভাইস আইডি।
devicePubKey
ওয়েভ অপারেশনাল ডিভাইস পাবলিক কী।
শংসাপত্র
একটি বাফারের একটি পয়েন্টার যেখানে তৈরি করা শংসাপত্র লেখা হবে৷
certBufSize
প্রদত্ত শংসাপত্র বাফারের বাইটে দৈর্ঘ্য।
certLen
তৈরি করা শংসাপত্রের বাইটে দৈর্ঘ্য।
genCert স্বাক্ষর
অপারেশনাল ডিভাইস প্রাইভেট কী ব্যবহার করে প্রদত্ত শংসাপত্র হ্যাশে ECDSA স্বাক্ষর তৈরি করে এমন একটি ফাংশনের একটি পয়েন্টার।
রিটার্ন মান
WEAVE_NO_ERROR
যদি উইভ সার্টিফিকেট সফলভাবে তৈরি করা হয়।

GetWeaveSignatureAlgo

WEAVE_ERROR GetWeaveSignatureAlgo(
  const uint8_t *sig,
  uint16_t sigLen,
  OID & sigAlgoOID
)

ইন্ডেন্ট

void Indent(
  FILE *out,
  uint16_t count
)

সন্নিবেশ সম্পর্কিত শংসাপত্র ওয়েভ স্বাক্ষরে

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
)

একটি ওয়েভ সার্টিফিকেট সেটে অ্যাক্সেস টোকেনে সার্টিফিকেট লোড করুন।

এই ফাংশনটি একটি প্রদত্ত ওয়েভ অ্যাক্সেস টোকেন ডিকোড করে এবং নির্দিষ্ট ওয়েভ সার্টিফিকেট সেট অবজেক্টে অ্যাক্সেস টোকেন সার্টিফিকেট লোড করে। যদি অ্যাক্সেস টোকেনগুলিতে এক বা একাধিক সম্পর্কিত শংসাপত্র থাকে তবে সেগুলি শংসাপত্র সেটেও লোড করা হয়।

বিস্তারিত
পরামিতি
অ্যাক্সেস টোকেন
একটি এনকোডেড উইভ অ্যাক্সেস টোকেন ধারণকারী একটি বাফারের একটি পয়েন্টার।
অ্যাক্সেস টোকেনলেন
এনকোড করা অ্যাক্সেস টোকেনের দৈর্ঘ্য।
certSet
শংসাপত্র সেট যেখানে অ্যাক্সেস টোকেন শংসাপত্রগুলি লোড করা উচিত৷
ডিকোড ফ্ল্যাগ
সার্টিফিকেট ডিকোড পতাকা যা সার্টিফিকেট লোড করার সময় ব্যবহার করা উচিত।
অ্যাক্সেস টোকেন সার্ট
একটি পয়েন্টারের একটি রেফারেন্স যা অ্যাক্সেস টোকেন শংসাপত্রের জন্য উইভ সার্টিফিকেট ডেটা কাঠামোতে সেট করা হবে। দ্রষ্টব্য: এই পয়েন্টারটি তখনই সেট করা হবে যদি ফাংশনটি সফলভাবে ফিরে আসে।
রিটার্ন মান
WEAVE_NO_ERROR
যদি অ্যাক্সেস টোকেন সার্টিফিকেট সফলভাবে লোড করা হয়।
tlv-ত্রুটি
TLV পড়ার সাথে সম্পর্কিত বুনা ত্রুটি।
শংসাপত্র-ত্রুটি
উইভ সার্টিফিকেট ডিকোডিং সম্পর্কিত বুনা ত্রুটি।
প্ল্যাটফর্ম-ত্রুটি
অন্যান্য প্ল্যাটফর্ম-নির্দিষ্ট ত্রুটি।

LoadAccessTokenCerts

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

একটি ওয়েভ সার্টিফিকেট সেটে অ্যাক্সেস টোকেনে সার্টিফিকেট লোড করুন।

এই ফাংশনটি একটি প্রদত্ত TLVReader থেকে একটি ওয়েভ অ্যাক্সেস টোকেন পড়ে এবং নির্দিষ্ট ওয়েভ সার্টিফিকেট সেট অবজেক্টে অ্যাক্সেস টোকেন শংসাপত্র লোড করে। যদি অ্যাক্সেস টোকেনগুলিতে এক বা একাধিক সম্পর্কিত শংসাপত্র থাকে তবে সেগুলি শংসাপত্র সেটেও লোড করা হয়।

বিস্তারিত
পরামিতি
পাঠক
একটি TLVReader অবজেক্ট যা একটি ওয়েভ অ্যাক্সেস টোকেনের ঠিক আগে অবস্থান করে।
certSet
শংসাপত্র সেট যেখানে অ্যাক্সেস টোকেন শংসাপত্রগুলি লোড করা উচিত৷
ডিকোড ফ্ল্যাগ
সার্টিফিকেট ডিকোড পতাকা যা সার্টিফিকেট লোড করার সময় ব্যবহার করা উচিত।
অ্যাক্সেস টোকেন সার্ট
একটি পয়েন্টারের একটি রেফারেন্স যা অ্যাক্সেস টোকেন শংসাপত্রের জন্য উইভ সার্টিফিকেট ডেটা কাঠামোতে সেট করা হবে। দ্রষ্টব্য: এই মানটি তখনই সেট করা হয় যখন ফাংশনটি সফলভাবে ফিরে আসে।
রিটার্ন মান
WEAVE_NO_ERROR
যদি অ্যাক্সেস টোকেন সার্টিফিকেট সফলভাবে লোড করা হয়।
tlv-ত্রুটি
TLV পড়ার সাথে সম্পর্কিত বুনা ত্রুটি।
শংসাপত্র-ত্রুটি
উইভ সার্টিফিকেট ডিকোডিং সম্পর্কিত বুনা ত্রুটি।
প্ল্যাটফর্ম-ত্রুটি
অন্যান্য প্ল্যাটফর্ম-নির্দিষ্ট ত্রুটি।

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
)

থার্মোস্ট্যাট ডিভাইস শংসাপত্রের একটি নির্দিষ্ট সেটের জন্য একটি যাচাইকরণ হ্যাশ (বেস-64 ফর্ম্যাটে) তৈরি করুন।

বিস্তারিত
পরামিতি
[in] serialNum
ডিভাইসের সিরিয়াল নম্বর ধারণকারী একটি বাফারের একটি পয়েন্টার।
[in] serialNumLen
ক্রমিক নম্বর স্ট্রিং এর দৈর্ঘ্য।
[in] deviceId
ডিভাইসের আইডি ধারণকারী একটি বাফার একটি পয়েন্টার.
[in] deviceIdLen
ডিভাইসের আইডির দৈর্ঘ্য।
ডিভাইস সিক্রেট
ডিভাইসের গোপনীয়তা ধারণকারী একটি বাফারের একটি পয়েন্টার।
[in] deviceSecretLen
ডিভাইসটির গোপনীয়তার দৈর্ঘ্য।
[in,out] hashBuf
একটি বাফারের একটি পয়েন্টার যা যাচাইকরণ হ্যাশ মান পাবে, বেস-64 বিন্যাসে। আউটপুট স্ট্রিংটি বাতিল হয়ে যাবে। এই বাফারটি অন্তত kDeviceCredentialHashLength + 1 এর মত বড় হওয়া উচিত।
[in] hashBufSize
হ্যাশবাফ দ্বারা নির্দেশিত বাফারের বাইটের আকার।
রিটার্ন মান
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
)

উইভ প্রভিশনিং তথ্যের একটি প্রদত্ত সেটের জন্য একটি যাচাইকরণ হ্যাশ (বেস-64 বিন্যাসে) তৈরি করুন।

বিস্তারিত
পরামিতি
[in] nodeId
ডিভাইসের ওয়েভ নোড আইডি।
[in] weaveCert
বেস-64 বিন্যাসে উইভ ডিভাইস শংসাপত্র ধারণকারী একটি বাফারের একটি পয়েন্টার।
[in] weaveCertLen
weaveCert দ্বারা নির্দেশিত শংসাপত্রের মানের দৈর্ঘ্য।
[in] weavePrivKey
বেস-64 বিন্যাসে উইভ ডিভাইস প্রাইভেট কী ধারণকারী একটি বাফারের একটি পয়েন্টার।
[in] weavePrivKeyLen
weavePrivKey দ্বারা নির্দেশিত ব্যক্তিগত কী মানের দৈর্ঘ্য।
[in] pairingCode
ডিভাইস পেয়ারিং কোড ধারণকারী একটি বাফারের একটি পয়েন্টার।
[in] pairingCodeLen
pairingCode দ্বারা নির্দেশিত পেয়ারিং কোড মানের দৈর্ঘ্য।
[in,out] hashBuf
একটি বাফারের একটি পয়েন্টার যা যাচাইকরণ হ্যাশ মান পাবে, বেস-64 বিন্যাসে। আউটপুট স্ট্রিংটি বাতিল হয়ে যাবে। এই বাফারটি অন্তত kWeaveProvisioningHashLength + 1 এর মত বড় হওয়া উচিত।
[in] hashBufSize
হ্যাশবাফ দ্বারা নির্দেশিত বাফারের বাইটের আকার।
রিটার্ন মান
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
)

একটি শংসাপত্রের তারিখ/সময় (এএসএন.1 সার্বজনীন সময় কাঠামোর আকারে) একটি প্যাকড শংসাপত্র তারিখ/সময়ে রূপান্তর করুন।

প্যাকড শংসাপত্রের তারিখ/সময় একটি শংসাপত্রের মধ্যে সময়ের মানগুলির জন্য একটি কম্প্যাক্ট উপস্থাপনা প্রদান করে (আগে নয় পরে) যার ব্যাখ্যা করার জন্য সম্পূর্ণ ক্যালেন্ডার গণিতের প্রয়োজন হয় না।

একটি প্যাকড সার্টিফিকেট তারিখ/সময় একটি ক্যালেন্ডার তারিখ/timei.e এর ক্ষেত্র ধারণ করে। বছর, মাস, দিন, ঘন্টা, মিনিট, একটি স্বাক্ষরবিহীন পূর্ণসংখ্যার মধ্যে সেকেন্ডপ্যাক। বিট উপস্থাপনা এমনভাবে সংগঠিত হয় যাতে প্যাক করা তারিখ/সময়ের মানগুলির সাধারন তুলনা সংশ্লিষ্ট সময়ের স্বাভাবিক ক্রমানুসারের সাথে মিলে যায়। তাদের আকার কমাতে, প্যাক করা শংসাপত্রের তারিখ/সময়গুলি 2000/01/01 00:00:00 তারিখে বা তার পরে থাকা সময়ের প্রতিনিধিত্ব করার জন্য সীমাবদ্ধ। একটি 32-বিট স্বাক্ষরবিহীন পূর্ণসংখ্যার মধ্যে রাখা হলে, প্যাক করা শংসাপত্রের তারিখ/সময়গুলি 2133 সাল পর্যন্ত সময়ের প্রতিনিধিত্ব করতে পারে।

বিস্তারিত
পরামিতি
সময়
ক্যালেন্ডারের তারিখ/সময় রূপান্তর করতে হবে।
প্যাকডটাইম
একটি পূর্ণসংখ্যার একটি রেফারেন্স যা প্যাক করা তারিখ/সময় পাবে।
রিটার্ন মান
WEAVE_NO_ERROR
যদি ইনপুট সময় সফলভাবে রূপান্তরিত হয়।
ASN1_ERROR_UNSUPPORTED_ENCODING
যদি ইনপুট সময়ে একটি বছরের মান থাকে যা একটি প্যাকড শংসাপত্রের সময় মানতে উপস্থাপন করা যায় না।

PackedCertDateToTime

NL_DLL_EXPORT uint32_t PackedCertDateToTime(
  uint16_t packedDate
)

একটি প্যাক করা শংসাপত্রের তারিখকে একটি সংশ্লিষ্ট প্যাকড শংসাপত্রের তারিখ/সময়ে রূপান্তর করুন, যেখানে মানের সময় অংশটি 00:00:00 এ সেট করা আছে।

বিস্তারিত
পরামিতি
প্যাকড তারিখ
প্যাক করা শংসাপত্রের তারিখ রূপান্তর করতে হবে।
রিটার্নস
একটি সংশ্লিষ্ট প্যাকেট সার্টিফিকেট তারিখ/সময়।

PackedCertTimeToDate

NL_DLL_EXPORT uint16_t PackedCertTimeToDate(
  uint32_t packedTime
)

একটি প্যাকড শংসাপত্র তারিখ/সময়কে একটি প্যাকড শংসাপত্র তারিখে রূপান্তর করুন।

একটি প্যাকড শংসাপত্রের তারিখে একটি স্বাক্ষরবিহীন পূর্ণসংখ্যার মধ্যে একটি ক্যালেন্ডার তারিখের বছর, মাস, দিন প্যাক করা থাকে৷ বিটগুলি এমনভাবে সংগঠিত হয় যাতে প্যাক করা তারিখের মানগুলির সাধারন তুলনা সংশ্লিষ্ট তারিখগুলির স্বাভাবিক ক্রমানুসারের সাথে মিলে যায়। তাদের আকার কমাতে, প্যাকড শংসাপত্রের তারিখগুলি 2000/01/01 বা তার পরের তারিখগুলি প্রতিনিধিত্ব করার জন্য সীমাবদ্ধ। একটি 16-বিট স্বাক্ষরবিহীন পূর্ণসংখ্যার মধ্যে রাখা হলে, প্যাক করা শংসাপত্রের তারিখগুলি 2176 সাল পর্যন্ত তারিখগুলি উপস্থাপন করতে পারে।

বিস্তারিত
পরামিতি
প্যাকডটাইম
প্যাক করা শংসাপত্রের তারিখ/সময় রূপান্তর করতে হবে।
রিটার্নস
একটি সংশ্লিষ্ট প্যাকেট শংসাপত্রের তারিখ।

ParseWeaveIdAttribute

WEAVE_ERROR ParseWeaveIdAttribute(
  ASN1Reader & reader,
  uint64_t & weaveIdOut
)

PrintCert

NL_DLL_EXPORT void PrintCert(
  FILE *out,
  const WeaveCertificateData & cert,
  const WeaveCertificateSet *certSet,
  uint16_t indent,
  bool verbose
)

PrintCertArray

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

প্রিন্ট সার্ট রেফারেন্স

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

PrintCertType

void PrintCertType(
  FILE *out,
  uint8_t certType
)

PrintCertValidation Results

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

প্রিন্ট ইসিডিএসএস স্বাক্ষর

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

প্রিন্টহেক্সফিল্ড

void PrintHexField(
  FILE *out,
  const char *name,
  uint16_t indent,
  uint16_t count,
  const uint8_t *data
)

প্রিন্টপ্যাকড তারিখ

void PrintPackedDate(
  FILE *out,
  uint16_t t
)

প্রিন্টপ্যাকডটাইম

void PrintPackedTime(
  FILE *out,
  uint32_t t
)

PrintWeaveDN

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

PrintWeaveDN

WEAVE_ERROR PrintWeaveDN(
  FILE *out,
  TLVReader & reader
)

প্রিন্টওয়েভ স্বাক্ষর

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

সেকেন্ডস থেকে ইপোচটোপ্যাকড সার্টটাইম

NL_DLL_EXPORT uint32_t SecondsSinceEpochToPackedCertTime(
  uint32_t secondsSinceEpoch
)

1970-01-01 00:00:00 UTC থেকে সেকেন্ডের সংখ্যাকে একটি প্যাকড সার্টিফিকেট তারিখ/সময়ে রূপান্তর করুন।

বিস্তারিত
পরামিতি
সেকেন্ড থেকে যুগ
1970-01-01 00:00:00 UTC থেকে সেকেন্ডের সংখ্যা। দ্রষ্টব্য: এই মানটি 2105 সাল পর্যন্ত POSIX time_t মানের ইতিবাচক মানের সাথে সামঞ্জস্যপূর্ণ।
রিটার্নস
একটি সংশ্লিষ্ট প্যাকেট সার্টিফিকেট তারিখ/সময়।

OpenSSLError অনুবাদ করুন

WEAVE_ERROR TranslateOpenSSLError(
  WEAVE_ERROR defaultErr
)

আনপ্যাক সার্টটাইম

NL_DLL_EXPORT WEAVE_ERROR UnpackCertTime(
  uint32_t packedTime,
  ASN1UniversalTime & time
)

একটি প্যাকড সার্টিফিকেট তারিখ/সময় একটি ASN.1 সার্বজনীন সময় কাঠামোতে আনপ্যাক করুন।

বিস্তারিত
পরামিতি
প্যাকডটাইম
একটি প্যাকড শংসাপত্র আনপ্যাক করার সময়।
সময়
আনপ্যাক করা তারিখ/সময় পাওয়ার জন্য একটি 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
)