nl :: Dệt :: Hồ sơ :: Bảo vệ
Không gian tên này bao gồm tất cả các giao diện trong Weave cho cấu hình Weave Security .
Tóm lược
Bảng kê | |
---|---|
@235 | enum X.509 Cờ Mục đích của Khóa Chứng chỉ. |
@236 | enum Cờ sử dụng khóa chứng chỉ X.509. |
@237 | enum Dệt cờ chứng chỉ. |
@238 | enum Dệt cờ giải mã chứng chỉ. |
@239 | enum Dệt cờ xác thực chứng chỉ. |
@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 (* Tạo chữ ký ECDSA bằng khóa riêng của nút Weave cục bộ. |
Biến | |
---|---|
gProvisioningBundleKDFSalt = "Weave Provisioning Bundle v1"[] | const char |
Chức năng | |
---|---|
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) | Xác định loại chung của chứng chỉ Weave. |
EncodeWeaveECDSASignature (TLVWriter & writer, EncodedECDSASignature & sig, uint64_t tag) | |
EncodeWeaveECPrivateKey (uint32_t weaveCurveId, const EncodedECPublicKey *pubKey, const EncodedECPrivateKey & privKey, uint8_t *outBuf, uint32_t outBufSize, uint32_t & outLen) | NL_DLL_EXPORT WEAVE_ERROR |
ExtractCertFromAccessToken (TLVReader & reader,TLVWriter & writer, uint64_t tag) | Đọc Mã thông báo truy cập Weave và trích xuất Chứng chỉ mã thông báo truy cập. |
ExtractPrivateKeyFromAccessToken (const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *privKeyBuf, uint16_t privKeyBufSize, uint16_t & privKeyLen) | Đọc Mã truy cập Weave và trích xuất khóa riêng tư. |
ExtractPrivateKeyFromAccessToken (TLVReader & reader,TLVWriter & writer) | Đọc Mã truy cập Weave và trích xuất khóa riêng tư. |
GenerateAndEncodeWeaveECDSASignature (TLVWriter & writer, uint64_t tag, const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *signingKey, uint16_t signingKeyLen) | Tạo và mã hóa chữ ký ECDSA của Weave. |
GenerateOperationalDeviceCert (uint64_t deviceId, EncodedECPublicKey & devicePubKey, uint8_t *cert, uint16_t certBufSize, uint16_t & certLen, GenerateECDSASignatureFunct genCertSignature) | NL_DLL_EXPORT WEAVE_ERROR Tạo chứng chỉ thiết bị vận hành 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) | Tải chứng chỉ trong mã thông báo truy cập vào bộ chứng chỉ Weave. |
LoadAccessTokenCerts (TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert) | Tải chứng chỉ trong mã thông báo truy cập vào bộ chứng chỉ 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 Tạo băm xác minh (ở định dạng base-64) cho một bộ thông tin xác thực thiết bị Thermostat nhất định. |
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 Tạo băm xác minh (ở định dạng base-64) cho một tập hợp thông tin cấp phép Weave nhất định. |
OIDToWeaveCurveId (ASN1::OID curveOID) | uint32_t |
PackCertTime (const ASN1UniversalTime & time, uint32_t & packedTime) | NL_DLL_EXPORT WEAVE_ERROR Chuyển đổi ngày / giờ chứng chỉ (ở dạng cấu trúc thời gian chung ASN.1) thành ngày / giờ chứng chỉ được đóng gói. |
PackedCertDateToTime (uint16_t packedDate) | NL_DLL_EXPORT uint32_t Chuyển đổi ngày chứng chỉ được đóng gói thành ngày / giờ chứng chỉ được đóng gói tương ứng, trong đó phần thời gian của giá trị được đặt thành 00:00:00. |
PackedCertTimeToDate (uint32_t packedTime) | NL_DLL_EXPORT uint16_t Chuyển đổi ngày / giờ chứng chỉ được đóng gói thành ngày chứng chỉ được đóng gói. |
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 Chuyển đổi số giây kể từ 1970-01-01 00:00:00 UTC thành ngày / giờ chứng chỉ được đóng gói. |
TranslateOpenSSLError ( WEAVE_ERROR defaultErr) | |
UnpackCertTime (uint32_t packedTime, ASN1UniversalTime & time) | NL_DLL_EXPORT WEAVE_ERROR Giải nén ngày / giờ chứng chỉ được đóng gói thành cấu trúc thời gian chung 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 |
Các lớp học | |
---|---|
nl :: Weave :: Profiles :: Security :: CertificateKeyId | |
nl :: Weave :: Profiles :: Security :: ValidationContext | |
nl :: Weave :: Profiles :: Security :: WeaveCertificateData | |
nl :: Weave :: Profiles :: Security :: WeaveCertificateSet | |
nl :: Weave :: Profiles :: Security :: WeaveDN | |
nl :: Weave :: Profiles :: Security :: WeaveProvisinstallBundle | |
nl :: Weave :: Profiles :: Security :: WeaveSignatureGenerator | Tạo WeaveSignature bằng khóa cá nhân trong bộ nhớ. |
nl :: Weave :: Profiles :: Security :: WeaveSignatureGeneratorBase | Cung cấp chức năng chung để tạo WeaveSignatures. |
Không gian tên | |
---|---|
nl :: Weave :: Profiles :: Security :: AppKeys | Không gian tên này bao gồm tất cả các giao diện trong thư viện khóa ứng dụng Weave for Weave trong hồ sơ bảo mật Weave. |
nl :: Weave :: Profiles :: Security :: CASE | Không gian tên này bao gồm tất cả các giao diện trong Weave cho giao thức Thiết lập phiên được xác thực chứng chỉ ( CASE ) trong cấu hình bảo mật Weave. |
nl :: Weave :: Profiles :: Security :: CertProvisinstall | Không gian tên này bao gồm tất cả các giao diện trong Weave cho giao thức Cấp phép chứng chỉ Weave trong cấu hình bảo mật Weave. |
nl :: Weave :: Profiles :: Security :: KeyExport | Không gian tên này bao gồm tất cả các giao diện trong Weave cho giao thức xuất khóa trong hồ sơ bảo mật Weave. |
nl :: Weave :: Profiles :: Security :: PASE | Không gian tên này bao gồm tất cả các giao diện trong Weave cho giao thức Thiết lập phiên được xác thực bằng mật khẩu ( PASE ) trong cấu hình bảo mật Weave. |
nl :: Weave :: Profiles :: Security :: Passcodes | Không gian tên này bao gồm tất cả các giao diện trong Weave cho thư viện mật mã Weave trong cấu hình bảo mật Weave. |
nl :: Weave :: Profiles :: Security :: TAKE | Không gian tên này bao gồm tất cả các giao diện trong Weave dành cho giao thức Trao đổi khóa xác thực mã thông báo ( TAKE ) trong cấu hình Weave Security . |
Bảng kê
@ 235
@235
X.509 Cờ Mục đích của Khóa Chứng chỉ.
@ 236
@236
Cờ sử dụng khóa chứng chỉ X.509.
@ 237
@237
Dệt cờ chứng chỉ.
Chứa thông tin về chứng chỉ đã được tải vào đối tượng WeaveCertSet.
@ 238
@238
Dệt cờ giải mã chứng chỉ.
Chứa thông tin chỉ định cách giải mã chứng chỉ.
@ 239
@239
Dệt cờ xác thực chứng chỉ.
Chứa thông tin chỉ định cách xác thực chứng chỉ.
@ 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)
Tạo chữ ký ECDSA bằng khóa riêng của nút Weave cục bộ.
Khi được gọi, các triển khai phải tính toán một chữ ký trên giá trị băm đã cho bằng cách sử dụng khóa riêng của nút.
Chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
| ||||||
Giá trị trả lại |
|
Biến
gProvisratingBundleKDFSalt
const char gProvisioningBundleKDFSalt[] = "Weave Provisioning Bundle v1"
Chức năng
CASECertInfoFromAccessToken
WEAVE_ERROR CASECertInfoFromAccessToken( const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *certInfoBuf, uint16_t certInfoBufSize, uint16_t & certInfoLen )
Đọc Mã thông báo truy cập Weave và xây dựng cấu trúc TLV Thông tin chứng chỉ CASE chứa các chứng chỉ từ mã thông báo truy cập.
Chức năng này giải mã một Mã truy cập Weave nhất định và mã hóa TLV cho cấu trúc Thông tin chứng chỉ Weave CASE . Trường EntityCertificate trong cấu trúc CertificateInfo được đặt thành chứng chỉ mã thông báo truy cập và trường RelatedCertificates (nếu có) được đặt thành trường tương ứng trong mã thông báo truy cập.
Chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
| ||||||||||
Giá trị trả lại |
|
CASECertInfoFromAccessToken
WEAVE_ERROR CASECertInfoFromAccessToken( TLVReader & reader, TLVWriter & writer )
Đọc Mã thông báo truy cập Weave và viết cấu trúc TLV Thông tin chứng chỉ CASE chứa các chứng chỉ từ mã thông báo truy cập.
Hàm này đọc Mã truy cập Weave từ một TLVReader nhất định và ghi TLV cho cấu trúc Thông tin chứng chỉ Weave CASE vào TLVWriter. Trường EntityCertificate trong cấu trúc CertificateInfo được đặt thành chứng chỉ mã thông báo truy cập và trường RelatedCertificates (nếu có) được đặt thành trường tương ứng trong mã thông báo truy cập.
Chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Thông số |
| ||||||||
Giá trị trả lại |
|
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 )
Chuyển đổi
WEAVE_ERROR ConvertExtensions( ASN1Reader & reader, TLVWriter & writer )
ConvertSubjectPublicKeyInfo
WEAVE_ERROR ConvertSubjectPublicKeyInfo( ASN1Reader & reader, TLVWriter & writer )
ConvertValidity
WEAVE_ERROR ConvertValidity( ASN1Reader & reader, TLVWriter & writer )
ConvertWeaveCertToX509Cert
WEAVE_ERROR ConvertWeaveCertToX509Cert( const uint8_t *weaveCert, uint32_t weaveCertLen, uint8_t *x509CertBuf, uint32_t x509CertBufSize, uint32_t & x509CertLen )
ConvertX509CertToWeaveCert
WEAVE_ERROR ConvertX509CertToWeaveCert( const uint8_t *x509Cert, uint32_t x509CertLen, uint8_t *weaveCertBuf, uint32_t weaveCertBufSize, uint32_t & weaveCertLen )
DecodeConvertAuthorityKeyIdentifierExtension
WEAVE_ERROR DecodeConvertAuthorityKeyIdentifierExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertBasicConstraintsExtension
WEAVE_ERROR DecodeConvertBasicConstraintsExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertCert
WEAVE_ERROR DecodeConvertCert( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertDN
WEAVE_ERROR DecodeConvertDN( TLVReader & reader, ASN1Writer & writer, WeaveDN & dn )
DecodeConvertECDSASignature
WEAVE_ERROR DecodeConvertECDSASignature( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertExtendedKeyUsageExtension
WEAVE_ERROR DecodeConvertExtendedKeyUsageExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertExtension
WEAVE_ERROR DecodeConvertExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertExtensions
WEAVE_ERROR DecodeConvertExtensions( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertKeyUsageExtension
WEAVE_ERROR DecodeConvertKeyUsageExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertRSASignature
WEAVE_ERROR DecodeConvertRSASignature( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertSubjectKeyIdentifierExtension
WEAVE_ERROR DecodeConvertSubjectKeyIdentifierExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertSubjectPublicKeyInfo
WEAVE_ERROR DecodeConvertSubjectPublicKeyInfo( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertTBSCert
WEAVE_ERROR DecodeConvertTBSCert( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertValidity
WEAVE_ERROR DecodeConvertValidity( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeCopyECDSASignature_DER
WEAVE_ERROR DecodeCopyECDSASignature_DER( const uint8_t *sigBuf, uint8_t sigLen, EncodedECDSASignature & sig )
DecodeWeaveCert
WEAVE_ERROR DecodeWeaveCert( const uint8_t *weaveCert, uint32_t weaveCertLen, WeaveCertificateData & certData )
DecodeWeaveCert
WEAVE_ERROR DecodeWeaveCert( TLVReader & reader, WeaveCertificateData & certData )
DecodeWeaveDN
WEAVE_ERROR DecodeWeaveDN( TLVReader & reader, WeaveDN & dn )
DecodeWeaveECDSASignature
WEAVE_ERROR DecodeWeaveECDSASignature( TLVReader & reader, EncodedECDSASignature & sig )
DecodeWeaveECPrivateKey
NL_DLL_EXPORT WEAVE_ERROR DecodeWeaveECPrivateKey( const uint8_t *buf, uint32_t len, uint32_t & weaveCurveId, EncodedECPublicKey & pubKey, EncodedECPrivateKey & privKey )
DescribeWeaveCertId
const char * DescribeWeaveCertId( OID attrOID, uint64_t weaveCertId )
DefenceCertType
WEAVE_ERROR DetermineCertType( WeaveCertificateData & cert )
Xác định loại chung của chứng chỉ Weave.
Chức năng này thực hiện đánh giá chung về loại chứng chỉ dựa trên cấu trúc của đối tượng DN của nó và các phần mở rộng hiện có. Các ứng dụng có thể tự do ghi đè đánh giá này bằng cách đặt cert.CertType thành một giá trị khác, bao gồm một giá trị do ứng dụng xác định.
Nói chung, các ứng dụng sẽ chỉ tin cậy chứng chỉ ngang hàng nếu nó liên kết với chứng chỉ gốc đáng tin cậy. Tuy nhiên, kiểu được gán cho chứng chỉ có thể ảnh hưởng đến bản chất của sự tin cậy này, ví dụ như cho phép hoặc không cho phép truy cập vào một số tính năng nhất định. Do đó, những thay đổi đối với thuật toán này có thể gây ra những ảnh hưởng RẤT QUAN TRỌNG và TIỀM NĂNG CATASTROPHIC đối với bảo mật hệ thống tổng thể và không nên được thực hiện khi chưa hiểu kỹ về các tác động.
LƯU Ý: Không thể phân biệt các chứng chỉ mã thông báo truy cập chỉ bằng cấu trúc của chúng. Vì vậy, hàm này không bao giờ đặt 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 )
Đọc Mã thông báo truy cập Weave và trích xuất Chứng chỉ mã thông báo truy cập.
Chức năng này đọc Mã truy cập Weave từ một TLVReader và ghi Chứng chỉ mã thông báo truy cập vào một TLVWriter được chỉ định.
Chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Thông số |
| ||||||||
Giá trị trả lại |
|
ExtractPrivateKeyFromAccessToken
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *privKeyBuf, uint16_t privKeyBufSize, uint16_t & privKeyLen )
Đọc Mã truy cập Weave và trích xuất khóa cá nhân.
Hàm này giải mã một Mã truy cập Weave nhất định và trích xuất trường khóa riêng tư từ mã thông báo.
Chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
| ||||||||||
Giá trị trả lại |
|
ExtractPrivateKeyFromAccessToken
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( TLVReader & reader, TLVWriter & writer )
Đọc Mã truy cập Weave và trích xuất khóa riêng tư.
Hàm này giải mã một Mã truy cập Weave nhất định và trích xuất trường khóa riêng tư từ mã thông báo.
Chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Thông số |
| ||||||||
Giá trị trả lại |
|
GenerateAndEncodeWeaveECDSASignature
WEAVE_ERROR GenerateAndEncodeWeaveECDSASignature( TLVWriter & writer, uint64_t tag, const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *signingKey, uint16_t signingKeyLen )
Tạo và mã hóa chữ ký ECDSA của Weave.
Tính toán chữ ký ECDSA bằng cách sử dụng khóa cá nhân và mã băm thông báo đã cho và viết chữ ký dưới dạng cấu trúc Weave ECDSASignature tới trình viết TLV được chỉ định với thẻ đã cho.
Chi tiết | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
| ||||||||||||
Giá trị trả lại |
|
GenerateOperationalDeviceCert
NL_DLL_EXPORT WEAVE_ERROR GenerateOperationalDeviceCert( uint64_t deviceId, EncodedECPublicKey & devicePubKey, uint8_t *cert, uint16_t certBufSize, uint16_t & certLen, GenerateECDSASignatureFunct genCertSignature )
Tạo chứng chỉ thiết bị vận hành Weave.
Chức năng này tạo chứng chỉ hoạt động do Weave tự ký được mã hóa ở định dạng Weave TLV .
Chi tiết | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
| ||||||||||||
Giá trị trả lại |
|
GetWeaveSignatureAlgo
WEAVE_ERROR GetWeaveSignatureAlgo( const uint8_t *sig, uint16_t sigLen, OID & sigAlgoOID )
Thụt lề
void Indent( FILE *out, uint16_t count )
InsertRelatedCertificatesIntoWeaveSignature
WEAVE_ERROR InsertRelatedCertificatesIntoWeaveSignature( uint8_t *sigBuf, uint16_t sigLen, uint16_t sigBufLen, const uint8_t *relatedCerts, uint16_t relatedCertsLen, uint16_t & outSigLen )
IsCertificateExtensionTag
bool IsCertificateExtensionTag( uint64_t tag )
IsCurveInSet
bool IsCurveInSet( uint32_t curveId, uint8_t curveSet )
IsSupportedCurve
bool IsSupportedCurve( uint32_t curveId )
IsWeaveIdX509Attr
bool IsWeaveIdX509Attr( OID oid )
IsWeaveX509Attr
bool IsWeaveX509Attr( OID oid )
LoadAccessTokenCerts
WEAVE_ERROR LoadAccessTokenCerts( const uint8_t *accessToken, uint32_t accessTokenLen, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert )
Tải chứng chỉ trong mã thông báo truy cập vào bộ chứng chỉ Weave.
Hàm này giải mã mã thông báo truy cập Weave nhất định và tải các chứng chỉ mã thông báo truy cập vào đối tượng tập hợp chứng chỉ Weave được chỉ định. Nếu các mã thông báo truy cập chứa một hoặc nhiều chứng chỉ liên quan, chúng cũng được tải vào bộ chứng chỉ.
Chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
| ||||||||||
Giá trị trả lại |
|
LoadAccessTokenCerts
WEAVE_ERROR LoadAccessTokenCerts( TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert )
Tải chứng chỉ trong mã thông báo truy cập vào bộ chứng chỉ Weave.
Chức năng này đọc mã thông báo truy cập Weave từ một TLVReader nhất định và tải các chứng chỉ mã thông báo truy cập vào đối tượng bộ chứng chỉ Weave được chỉ định. Nếu các mã thông báo truy cập chứa một hoặc nhiều chứng chỉ liên quan, chúng cũng được tải vào bộ chứng chỉ.
Chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Thông số |
| ||||||||
Giá trị trả lại |
|
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 )
Tạo băm xác minh (ở định dạng base-64) cho một tập hợp thông tin xác thực thiết bị Thermostat nhất định.
Chi tiết | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
| ||||||||||||||||
Giá trị trả lại |
|
MakeWeaveProvisratingHash
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 )
Tạo băm xác minh (ở định dạng cơ sở 64) cho một tập hợp thông tin cấp phép Weave nhất định.
Chi tiết | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
| ||||||||||||||||||
Giá trị trả lại |
|
OIDToWeaveCurveId
uint32_t OIDToWeaveCurveId( ASN1::OID curveOID )
PackCertTime
NL_DLL_EXPORT WEAVE_ERROR PackCertTime( const ASN1UniversalTime & time, uint32_t & packedTime )
Chuyển đổi ngày / giờ chứng chỉ (ở dạng cấu trúc thời gian chung ASN.1) thành ngày / giờ chứng chỉ được đóng gói.
Ngày / giờ chứng chỉ được đóng gói cung cấp một đại diện nhỏ gọn cho các giá trị thời gian trong chứng chỉ (notBefore và notAfter) không yêu cầu toán lịch đầy đủ để diễn giải.
Ngày / giờ chứng chỉ được đóng gói chứa các trường của ngày / giờ lịch, tức là. năm, tháng, ngày, giờ, phút, giây được đóng gói thành một số nguyên không dấu. Biểu diễn bit được tổ chức sao cho so sánh theo thứ tự của các giá trị ngày / giờ được đóng gói tương ứng với thứ tự tự nhiên của thời gian tương ứng. Để giảm kích thước của chúng, ngày / thời gian chứng chỉ được đóng gói được giới hạn ở thời gian đại diện vào hoặc sau ngày 01 tháng 01 năm 01 00:00:00. Khi được đặt trong một số nguyên không dấu 32 bit, ngày / lần chứng chỉ được đóng gói có thể đại diện cho thời gian lên đến năm 2133.
Chi tiết | |||||
---|---|---|---|---|---|
Thông số |
| ||||
Giá trị trả lại |
|
PackedCertDateToTime
NL_DLL_EXPORT uint32_t PackedCertDateToTime( uint16_t packedDate )
Chuyển đổi ngày chứng chỉ được đóng gói thành ngày / giờ chứng chỉ được đóng gói tương ứng, trong đó phần thời gian của giá trị được đặt thành 00:00:00.
Chi tiết | |||
---|---|---|---|
Thông số |
| ||
Lợi nhuận | Ngày / giờ chứng chỉ gói tương ứng. |
PackedCertTimeToDate
NL_DLL_EXPORT uint16_t PackedCertTimeToDate( uint32_t packedTime )
Chuyển đổi ngày / giờ chứng chỉ được đóng gói thành ngày chứng chỉ được đóng gói.
Ngày chứng chỉ được đóng gói chứa các trường lịch ngày năm, tháng, ngày được đóng gói thành một số nguyên không dấu. Các bit được tổ chức sao cho so sánh thứ tự của các giá trị ngày đóng gói tương ứng với thứ tự tự nhiên của các ngày tương ứng. Để giảm kích thước của chúng, ngày chứng chỉ được đóng gói được giới hạn trong việc đại diện cho các ngày vào hoặc sau ngày 2000/01/01. Khi được đặt trong một số nguyên không dấu 16 bit, ngày chứng chỉ được đóng gói có thể đại diện cho các ngày lên đến năm 2176.
Chi tiết | |||
---|---|---|---|
Thông số |
| ||
Lợi nhuận | Ngày chứng chỉ gói tương ứng. |
ParseWeaveIdAttribute
WEAVE_ERROR ParseWeaveIdAttribute( ASN1Reader & reader, uint64_t & weaveIdOut )
PrintCert
NL_DLL_EXPORT void PrintCert( FILE *out, const WeaveCertificateData & cert, const WeaveCertificateSet *certSet, uint16_t indent, bool verbose )
PrintCertArray
WEAVE_ERROR PrintCertArray( FILE *out, TLVReader & reader, uint16_t indent )
PrintCertReference
WEAVE_ERROR PrintCertReference( FILE *out, TLVReader & reader, uint16_t indent )
PrintCertType
void PrintCertType( FILE *out, uint8_t certType )
PrintCertValidationResults
NL_DLL_EXPORT void PrintCertValidationResults( FILE *out, const WeaveCertificateSet & certSet, const ValidationContext & validContext, uint16_t indent )
PrintECDSASignature
WEAVE_ERROR PrintECDSASignature( FILE *out, TLVReader & reader, uint16_t indent )
PrintHexField
void PrintHexField( FILE *out, const char *name, uint16_t indent, uint16_t count, const uint8_t *data )
PrintPackedDate
void PrintPackedDate( FILE *out, uint16_t t )
PrintPackedTime
void PrintPackedTime( FILE *out, uint32_t t )
PrintWeaveDN
void PrintWeaveDN( FILE *out, const WeaveDN & dn )
PrintWeaveDN
WEAVE_ERROR PrintWeaveDN( FILE *out, TLVReader & reader )
PrintWeaveSignature
WEAVE_ERROR PrintWeaveSignature( FILE *out, TLVReader & reader, uint16_t indent )
SecondsSinceEpochToPackedCertTime
NL_DLL_EXPORT uint32_t SecondsSinceEpochToPackedCertTime( uint32_t secondsSinceEpoch )
Chuyển đổi số giây kể từ 1970-01-01 00:00:00 UTC thành ngày / giờ chứng chỉ được đóng gói.
Chi tiết | |||
---|---|---|---|
Thông số |
| ||
Lợi nhuận | Ngày / giờ chứng chỉ gói tương ứng. |
TranslateOpenSSLError
WEAVE_ERROR TranslateOpenSSLError( WEAVE_ERROR defaultErr )
UnpackCertTime
NL_DLL_EXPORT WEAVE_ERROR UnpackCertTime( uint32_t packedTime, ASN1UniversalTime & time )
Giải nén ngày / giờ chứng chỉ được đóng gói vào cấu trúc thời gian chung ASN.1.
Chi tiết | |||||
---|---|---|---|---|---|
Thông số |
| ||||
Giá trị trả lại |
|
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 )