nl:: بافت:: پروفایل ها:: امنیت
این فضای نام شامل تمام رابط های موجود در Weave برای نمایه Weave Security است.
خلاصه
شمارش ها | |
---|---|
@235 | شمارش پرچمهای هدف کلیدی گواهی X.509. |
@236 | شمارش پرچمهای استفاده از کلید گواهی X.509. |
@237 | شمارش پرچم های گواهی را ببافید. |
@238 | شمارش پرچم های رمزگشایی گواهی را ببافید. |
@239 | شمارش پرچم های تایید گواهی را ببافید. |
@240 | شمارش |
@280 | شمارش |
@281 | شمارش |
@282 | شمارش |
@283 | شمارش |
@284 | شمارش |
@285 | شمارش |
@286 | شمارش |
@287 | شمارش |
@288 | شمارش |
@289 | شمارش |
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 می نویسد که حاوی گواهی نامه های توکن دسترسی است.
این تابع یک توکن دسترسی 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 )
Certificates RelatedIntoWeaveSignature را وارد کنید
WEAVE_ERROR InsertRelatedCertificatesIntoWeaveSignature( uint8_t *sigBuf, uint16_t sigLen, uint16_t sigBufLen, const uint8_t *relatedCerts, uint16_t relatedCertsLen, uint16_t & outSigLen )
IsCertificateExtensionTag
l10n-placeholder63IsCurveInSet
l10n-placeholder64IsSupportedCurve
l10n-placeholder65IsWeaveIdX509Attr
l10n-placeholder66IsWeaveX509Attr
l10n-placeholder67LoadAccessTokenCerts
l10n-placeholder68گواهی ها را در یک نشانه دسترسی در مجموعه گواهی Weave بارگیری کنید.
این تابع یک نشانه دسترسی Weave داده شده را رمزگشایی می کند و گواهی های نشانه دسترسی را در شی مجموعه گواهی Weave مشخص شده بارگذاری می کند. اگر نشانههای دسترسی حاوی یک یا چند گواهی مرتبط باشند، در مجموعه گواهی بارگذاری میشوند.
جزئیات | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
مولفه های |
| ||||||||||
ارزش های بازگشتی |
|
LoadAccessTokenCerts
l10n-placeholder69گواهی ها را در یک نشانه دسترسی در مجموعه گواهی Weave بارگیری کنید.
این تابع یک نشانه دسترسی Weave را از یک TLVReader معین می خواند و گواهینامه های نشانه دسترسی را در شی مجموعه گواهی Weave مشخص شده بارگذاری می کند. اگر نشانههای دسترسی حاوی یک یا چند گواهی مرتبط باشند، در مجموعه گواهی بارگذاری میشوند.
جزئیات | |||||||||
---|---|---|---|---|---|---|---|---|---|
مولفه های |
| ||||||||
ارزش های بازگشتی |
|
MakeDeviceCredentialHash
l10n-placeholder70یک هش تأیید (در قالب پایه-64) برای مجموعه معینی از اعتبار دستگاه ترموستات ایجاد کنید.
جزئیات | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
مولفه های |
| ||||||||||||||||
ارزش های بازگشتی |
|
MakeWeaveProvisioningHash
l10n-placeholder71یک هش تأیید (در قالب پایه 64) برای مجموعه ای از اطلاعات تأمین Weave ایجاد کنید.
جزئیات | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
مولفه های |
| ||||||||||||||||||
ارزش های بازگشتی |
|
OIDToWeaveCurveId
l10n-placeholder72PackCertTime
l10n-placeholder73تاریخ/زمان گواهی (به شکل ساختار زمان جهانی ASN.1) را به تاریخ/زمان گواهی بسته بندی شده تبدیل کنید.
تاریخ/زمانهای گواهی بستهبندی شده، نمایش فشردهای برای مقادیر زمانی در گواهی (notBefore و notAfter) ارائه میکند که برای تفسیر به ریاضیات تقویم کامل نیاز ندارد.
تاریخ/زمان گواهی بسته بندی شده حاوی فیلدهای تاریخ/timei.e تقویم است. سال، ماه، روز، ساعت، دقیقه، به صورت یک عدد صحیح بدون علامت بسته بندی شده است. نمایش بیت به گونه ای سازماندهی شده است که مقایسه ترتیبی مقادیر تاریخ/زمان بسته بندی شده با ترتیب طبیعی زمان های مربوطه مطابقت دارد. برای کاهش اندازه، تاریخ/زمانهای گواهی بستهبندی شده محدود به نمایش زمانهایی است که در 00:00:00 01/01/2000 یا بعد از آن هستند. زمانی که در یک عدد صحیح بدون علامت 32 بیتی قرار می گیرد، تاریخ/زمان های گواهی بسته بندی شده می تواند زمان هایی را تا سال 2133 نشان دهد.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
ارزش های بازگشتی |
|
PackedCertDateToTime
l10n-placeholder74تاریخ گواهی بسته بندی شده را به تاریخ/زمان گواهی بسته بندی شده مربوطه تبدیل کنید، جایی که بخش زمانی مقدار روی 00:00:00 تنظیم شده است.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | تاریخ/زمان گواهی بسته مربوطه. |
PackedCertTimeToDate
l10n-placeholder75تاریخ/زمان گواهی بسته بندی شده را به تاریخ گواهی بسته بندی شده تبدیل کنید.
تاریخ گواهی بسته بندی شده حاوی فیلدهای تاریخ تقویم سال، ماه، روز بسته بندی شده در یک عدد صحیح بدون علامت است. بیت ها به گونه ای سازماندهی شده اند که مقایسه ترتیبی مقادیر تاریخ بسته بندی شده با ترتیب طبیعی تاریخ های مربوطه مطابقت دارد. برای کاهش اندازه آنها، تاریخ های بسته بندی شده گواهی به نمایش تاریخ های 2000/01/01 یا بعد از آن محدود می شود. هنگامی که در یک عدد صحیح بدون علامت 16 بیتی قرار می گیرد، تاریخ های بسته بندی شده گواهی می توانند تاریخ های تا سال 2176 را نشان دهند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | تاریخ گواهی بسته مربوطه |
ParseWeaveIdAttribute
l10n-placeholder76PrintCert
l10n-placeholder77PrintCertArray
l10n-placeholder78PrintCertReference
l10n-placeholder79PrintCertType
l10n-placeholder80PrintCertValidation Results
l10n-placeholder81چاپECDSASامضا
l10n-placeholder82PrintHexField
l10n-placeholder83PrintPackedDate
l10n-placeholder84PrintPackedTime
l10n-placeholder85PrintWeaveDN
l10n-placeholder86PrintWeaveDN
l10n-placeholder87PrintWeaveSignature
l10n-placeholder88SecondsSinceEpochToPackedCertTime
l10n-placeholder89تعداد ثانیه ها از 01-01-1970 00:00:00 UTC را به تاریخ/زمان گواهی بسته بندی شده تبدیل کنید.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | تاریخ/زمان گواهی بسته مربوطه. |
TranslateOpenSSLError
l10n-placeholder90UnpackCertTime
l10n-placeholder91تاریخ/زمان گواهی بسته بندی شده را در ساختار زمانی جهانی ASN.1 باز کنید.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
ارزش های بازگشتی |
|
VerifyWeaveSignature
l10n-placeholder92VerifyWeaveSignature
l10n-placeholder93WeaveCurveIdToOID
l10n-placeholder94جز در مواردی که غیر از این ذکر شده باشد، محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است و نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است. Thread علامت تجاری ثبتشده Thread Group, Inc است.
تاریخ آخرین بهروزرسانی 2020-08-28 بهوقت ساعت هماهنگ جهانی.