nl:: بافت:: پروفایل ها:: امنیت
این فضای نام شامل تمام رابط های داخل Weave برای نمایه Weave Security است.
خلاصه
شمارش ها | |
---|---|
@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) | typedefWEAVE_ERROR (* با استفاده از کلید خصوصی گره محلی 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) | |
CASECertInfoFromAccessToken ( TLVReader & reader, TLVWriter & writer) | |
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) | توکن 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) | گواهی ها را در یک نشانه دسترسی در مجموعه گواهی 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 یک هش تأیید (در قالب پایه 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) برای مجموعه ای از اطلاعات تأمین 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 تعداد ثانیه ها از 01-01-1970 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:: بافت:: پروفایل ها:: امنیت:: ValidationContext | |
nl:: Weave:: پروفایل ها:: امنیت:: WeaveCertificateData | |
nl:: Weave:: پروفایل ها:: امنیت:: WeaveCertificateSet | |
nl:: Weave:: پروفایل ها:: امنیت:: WeaveDN | |
nl:: Weave:: پروفایل ها:: امنیت:: WeaveProvisioningBundle | |
nl:: Weave:: پروفایل ها:: امنیت:: WeaveSignatureGenerator | با استفاده از یک کلید خصوصی در حافظه، یک WeaveSignature ایجاد می کند. |
nl:: Weave:: پروفایل ها:: امنیت:: WeaveSignatureGeneratorBase | قابلیت های عمومی را برای تولید WeaveSignatures ارائه می دهد. |
فضاهای نام | |
---|---|
nl:: بافت:: پروفایل ها:: امنیت:: AppKeys | این فضای نام شامل تمام رابطهای موجود در Weave برای کتابخانه کلیدهای برنامه Weave در نمایه امنیتی Weave است. |
nl:: بافت:: پروفایل:: امنیت:: CASE | این فضای نام شامل تمام رابطهای موجود در پروتکل Weave برای Certificate Authenticated Session Establishment ( CASE ) در نمایه امنیتی Weave است. |
nl:: بافت:: پروفایل ها:: امنیت:: CertProvisioning | این فضای نام شامل تمام رابطهای موجود در پروتکل Weave Certificate Provisioning در نمایه امنیتی Weave است. |
nl:: بافت:: پروفایل ها:: امنیت:: KeyExport | این فضای نام شامل تمام رابطهای داخل Weave برای پروتکل صادرات کلید در نمایه امنیتی Weave است. |
nl:: بافت:: پروفایل ها:: امنیت:: PASE | این فضای نام شامل تمام رابطهای داخل Weave برای پروتکل ایجاد جلسه تأیید شده با رمز عبور ( PASE ) در نمایه امنیتی Weave است. |
nl:: بافت:: پروفایل ها:: امنیت:: رمزهای عبور | این فضای نام شامل تمام رابط های موجود در Weave برای کتابخانه رمزهای Weave در نمایه امنیتی Weave است. |
nl:: بافت:: پروفایل ها:: امنیت:: TAKE | این فضای نام شامل تمام رابطهای داخل Weave برای پروتکل Token Authenticated Key Exchange ( TAKE ) در نمایه Weave Security است. |
شمارش ها
@235
@235
پرچمهای هدف کلیدی گواهی X.509.
@236
@236
پرچم های استفاده از کلید گواهی X.509.
@237
@237
پرچم های گواهی را ببافید.
حاوی اطلاعات مربوط به گواهینامه ای است که در یک شی WeaveCertSet بارگذاری شده است.
@238
@238
پرچم های رمزگشایی گواهی را ببافید.
حاوی اطلاعاتی است که نحوه رمزگشایی یک گواهی را مشخص می کند.
@239
@239
پرچم های تایید گواهی را ببافید.
حاوی اطلاعاتی است که مشخص می کند گواهی چگونه باید اعتبار سنجی شود.
@240
@240
@280
@280
@281
@281
@282
@282
@283
@283
@284
@284
@285
@285
@286
@286
@287
@287
@288
@288
@289
@289
Typedefs
GenerateECDSASignatureFunct
WEAVE_ERROR(* GenerateECDSASignatureFunct)(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig)
با استفاده از کلید خصوصی گره محلی Weave یک امضای ECDSA ایجاد کنید.
هنگامی که فراخوانی می شود، پیاده سازی ها باید با استفاده از کلید خصوصی گره، امضایی را روی مقدار هش داده شده محاسبه کنند.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
پارامترها |
| ||||||
ارزش های بازگشتی |
|
متغیرها
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 Certificate رمزگذاری می کند. فیلد EntityCertificate در ساختار CertificateInfo روی گواهی نشانه دسترسی و فیلد RelatedCertificates (در صورت وجود) روی فیلد مربوطه در نشانه دسترسی تنظیم می شود.
جزئیات | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||||
ارزش های بازگشتی |
|
CASECertInfoFromAccessToken
WEAVE_ERROR CASECertInfoFromAccessToken( TLVReader & reader, TLVWriter & writer )
یک توکن دسترسی Weave را می خواند و یک ساختار TLV اطلاعات CASE Certificate می نویسد که حاوی گواهی نامه های توکن دسترسی است.
این تابع یک توکن دسترسی Weave را از یک TLVReader میخواند و TLV را برای ساختار اطلاعات Weave CASE Certificate در یک TLVWriter مینویسد. فیلد EntityCertificate در ساختار CertificateInfo روی گواهی نشانه دسترسی و فیلد RelatedCertificates (در صورت وجود) روی فیلد مربوطه در نشانه دسترسی تنظیم می شود.
جزئیات | |||||||||
---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||
ارزش های بازگشتی |
|
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 )
DecodeConvertECDSASsignature
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 )
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 )
WeaveCertId را توصیف کنید
const char * DescribeWeaveCertId( OID attrOID, uint64_t weaveCertId )
DetermineCertType
WEAVE_ERROR DetermineCertType( WeaveCertificateData & cert )
نوع کلی گواهی بافت را تعیین کنید.
این تابع یک ارزیابی کلی از نوع گواهی را بر اساس ساختار DN موضوع آن و پسوندهای موجود انجام می دهد. برنامهها میتوانند با تنظیم 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 )
یک توکن دسترسی بافت را می خواند و گواهی توکن دسترسی را استخراج می کند.
این تابع یک Token Weave Access را از TLVReader می خواند و گواهی Access Token را در یک TLVWriter مشخص می نویسد.
جزئیات | |||||||||
---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||
ارزش های بازگشتی |
|
ExtractPrivateKeyFromAccessToken
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *privKeyBuf, uint16_t privKeyBufSize, uint16_t & privKeyLen )
توکن Weave Access را می خواند و کلید خصوصی را استخراج می کند.
این تابع یک Token Weave Access داده شده را رمزگشایی می کند و فیلد کلید خصوصی را از توکن استخراج می کند.
جزئیات | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||||
ارزش های بازگشتی |
|
ExtractPrivateKeyFromAccessToken
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( TLVReader & reader, TLVWriter & writer )
توکن Weave Access را می خواند و کلید خصوصی را استخراج می کند.
این تابع یک Token Weave Access داده شده را رمزگشایی می کند و فیلد کلید خصوصی را از توکن استخراج می کند.
جزئیات | |||||||||
---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||
ارزش های بازگشتی |
|
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 مشخص شده با تگ داده شده می نویسد.
جزئیات | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||||||
ارزش های بازگشتی |
|
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 کدگذاری شده است.
جزئیات | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||||||
ارزش های بازگشتی |
|
GetWeaveSignatureAlgo
WEAVE_ERROR GetWeaveSignatureAlgo( const uint8_t *sig, uint16_t sigLen, OID & sigAlgoOID )
تورفتگی
void Indent( FILE *out, uint16_t count )
درج گواهی های مرتبط در امضای Weave
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 مشخص شده بارگذاری می کند. اگر نشانههای دسترسی حاوی یک یا چند گواهی مرتبط باشند، در مجموعه گواهی نیز بارگذاری میشوند.
جزئیات | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||||
ارزش های بازگشتی |
|
LoadAccessTokenCerts
WEAVE_ERROR LoadAccessTokenCerts( TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert )
گواهی ها را در یک نشانه دسترسی در مجموعه گواهی Weave بارگیری کنید.
این تابع یک نشانه دسترسی Weave را از یک TLVReader مشخص میخواند و گواهیهای نشانه دسترسی را در شی مجموعه گواهی Weave مشخص شده بارگذاری میکند. اگر نشانههای دسترسی حاوی یک یا چند گواهی مرتبط باشند، در مجموعه گواهی نیز بارگذاری میشوند.
جزئیات | |||||||||
---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||
ارزش های بازگشتی |
|
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) برای مجموعه معینی از اعتبار دستگاه ترموستات ایجاد کنید.
جزئیات | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||||||||||
ارزش های بازگشتی |
|
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) برای مجموعه ای از اطلاعات تأمین Weave ایجاد کنید.
جزئیات | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||||||||||||
ارزش های بازگشتی |
|
OIDToWeaveCurveId
uint32_t OIDToWeaveCurveId( ASN1::OID curveOID )
PackCertTime
NL_DLL_EXPORT WEAVE_ERROR PackCertTime( const ASN1UniversalTime & time, uint32_t & packedTime )
تاریخ/زمان گواهی (به شکل ساختار زمان جهانی ASN.1) را به تاریخ/زمان گواهی بسته بندی شده تبدیل کنید.
تاریخ/زمانهای گواهی بستهبندی شده، نمایش فشردهای برای مقادیر زمانی در گواهی (notBefore و notAfter) ارائه میکند که برای تفسیر به ریاضیات تقویم کامل نیاز ندارد.
تاریخ/زمان گواهی بسته بندی شده حاوی فیلدهای تاریخ/timei.e تقویم است. سال، ماه، روز، ساعت، دقیقه، به صورت یک عدد صحیح بدون علامت بسته شده است. نمایش بیت به گونه ای سازماندهی شده است که مقایسه ترتیبی مقادیر تاریخ/زمان بسته بندی شده با ترتیب طبیعی زمان های مربوطه مطابقت دارد. برای کاهش اندازه، تاریخ/زمانهای گواهی بستهبندی شده محدود به نمایش زمانهایی است که در یا بعد از 00:00:00 01/01/2000 هستند. هنگامی که در یک عدد صحیح بدون علامت 32 بیتی قرار می گیرد، تاریخ/زمان های گواهی بسته بندی شده می تواند زمان هایی را تا سال 2133 نشان دهد.
جزئیات | |||||
---|---|---|---|---|---|
پارامترها |
| ||||
ارزش های بازگشتی |
|
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 )
PrintCertReference
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 )
چاپECDSASامضا
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 )
تعداد ثانیه ها از 01-01-1970 00:00:00 UTC را به تاریخ/زمان گواهی بسته بندی شده تبدیل کنید.
جزئیات | |||
---|---|---|---|
پارامترها |
| ||
برمی گرداند | تاریخ/زمان گواهی بسته مربوطه. |
TranslateOpenSSLError
WEAVE_ERROR TranslateOpenSSLError( WEAVE_ERROR defaultErr )
UnpackCertTime
NL_DLL_EXPORT WEAVE_ERROR UnpackCertTime( uint32_t packedTime, ASN1UniversalTime & time )
تاریخ/زمان گواهی بسته بندی شده را در ساختار زمانی جهانی ASN.1 باز کنید.
جزئیات | |||||
---|---|---|---|---|---|
پارامترها |
| ||||
ارزش های بازگشتی |
|
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 )
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. The OPENTHREAD and related marks are trademarks of the Thread Group and are used under license.
تاریخ آخرین بهروزرسانی 2024-11-13 بهوقت ساعت هماهنگ جهانی.