nl:: Weave:: Hồ sơ:: Bảo mật
Vùng chứa tên này bao gồm tất cả giao diện trong Weave cho cấu hình Security của Weave.
Tóm tắt
Bảng liệt kê |
|
---|---|
@235
|
enum Cờ mục đích chính của chứng chỉ X.509. |
@236
|
enum Cờ sử dụng khóa chứng chỉ X.509. |
@237
|
enum Cờ chứng nhận dệt. |
@238
|
enum Cờ giải mã chứng chỉ dệt. |
@239
|
enum Đã có 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 |
Typedef |
|
---|---|
GenerateECDSASignatureFunct)(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig)
|
typedef Tạo chữ ký ECDSA bằng khóa riêng tư của nút Weave cục bộ; |
Biến |
|
---|---|
gProvisioningBundleKDFSalt = "Weave Provisioning Bundle v1"[]
|
const char
|
Hàm |
|
---|---|
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ã truy cập Weave và trích xuất Chứng chỉ mã 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ý Weave ECDSA.
|
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ị hoạt động 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 các chứng chỉ trong mã thông báo truy cập vào một nhóm chứng chỉ Weave.
|
LoadAccessTokenCerts(TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert)
|
Tải các chứng chỉ trong mã thông báo truy cập vào một nhóm 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 một hàm băm xác minh (ở định dạng base-64) cho một nhóm thông tin đăng nhập thiết bị của Máy điều nhiệt.
|
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 hàm băm xác minh (ở định dạng base-64) cho một nhóm thông tin cấp phép Weave đã cho.
|
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ưới dạng cấu trúc thời gian toàn cầu 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ỉ đã đóng gói thành ngày chứng chỉ đó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ừ ngày 01:00: 00:00 UTC ngày 1970-01-01 giờ UTC thành ngày/giờ chứng chỉ đã đó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 nhận đã đóng gói thành một cấu trúc thời gian phổ biến là 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
|
Lớp |
|
---|---|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
Tạo WeaveChữ bằng cách sử dụng khóa riêng tư trong bộ nhớ. |
nl:: |
Cung cấp chức năng chung để tạo Chữ ký Weave. |
Không gian tên |
|
---|---|
nl:: |
Vùng chứa tên này bao gồm tất cả giao diện trong Weave cho thư viện khóa ứng dụng Weave trong hồ sơ bảo mật Weave. |
nl:: |
Vùng chứa tên này bao gồm tất cả giao diện trong Weave cho giao thức Thiết lập phiên xác thực chứng chỉ (CASE) trong hồ sơ bảo mật Weave. |
nl:: |
Vùng chứa tên này bao gồm tất cả giao diện trong Weave cho giao thức Cung cấp chứng chỉ Weave trong hồ sơ bảo mật Weave. |
nl:: |
Vùng chứa tên này bao gồm tất cả giao diện trong Weave cho giao thức xuất khóa trong hồ sơ bảo mật Weave. |
nl:: |
Vùng chứa tên này bao gồm tất cả giao diện trong Weave cho giao thức Thiết lập phiên xác thực mật khẩu (PASE) trong hồ sơ bảo mật Weave. |
nl:: |
Vùng chứa tên này bao gồm tất cả giao diện trong Weave cho thư viện mật mã Weave trong hồ sơ bảo mật Weave. |
nl:: |
Vùng chứa tên này bao gồm tất cả giao diện trong Weave cho giao thức Khóa xác thực mã thông báo (Take) trong cấu hình Weave Security. |
Bảng liệt kê
@235
@235
Cờ mục đích chính của chứng chỉ X.509.
@336
@236
Cờ sử dụng khóa chứng chỉ X.509.
@337
@237
Cờ chứng nhận dệt.
Chứa thông tin về một chứng chỉ đã được tải vào đối tượng WeaveCertSet.
@338
@238
Cờ giải mã chứng chỉ dệt.
Chứa thông tin chỉ định cách giải mã một chứng chỉ.
@339
@239
Đã có cờ xác thực chứng chỉ.
Chứa thông tin nêu rõ 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
Typedef
Bộ tạo chữ ký ECDSA
WEAVE_ERROR(* GenerateECDSASignatureFunct)(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig)
Tạo chữ ký ECDSA bằng khóa riêng tư của nút Weave cục bộ;
Khi được gọi, các phương thức triển khai phải tính toán chữ ký trên giá trị băm đã cho bằng cách sử dụng khóa riêng tư của nút\39;s.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các thông số |
|
||||||
Giá trị trả về |
|
Biến
gCung cấp góiKDFSalt
const char gProvisioningBundleKDFSalt[] = "Weave Provisioning Bundle v1"
Hàm
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à tạo cấu trúc Thông tin chứng chỉ CASE TLV chứa các chứng chỉ từ mã truy cập.
Hàm này giải mã mã truy cập Weave Access cụ thể và mã hóa TLV cho cấu trúc Thông tin chứng chỉ CASE. Trường EntityCertificate trong cấu trúc CertificateInfo được đặt thành chứng chỉ của mã truy cập và trường relatedCertificates (nếu có) được đặt thành trường tương ứng trong mã truy cập.
Thông tin chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Các thông số |
|
||||||||||
Giá trị trả về |
|
CASECertInfoFromAccessToken
WEAVE_ERROR CASECertInfoFromAccessToken( TLVReader & reader, TLVWriter & writer )
Đọc mã truy cập Weave và ghi cấu trúc CASE thông tin chứng chỉ TLV chứa các chứng chỉ từ mã truy cập.
Hàm này đọc Mã thông báo truy cập Weave từ một TLV Reader đã cho và ghi TLV cho cấu trúc Thông tin chứng chỉ Weave CASE cho một TLVWriter. Trường EntityCertificate trong cấu trúc CertificateInfo được đặt thành chứng chỉ của mã truy cập và trường relatedCertificates (nếu có) được đặt thành trường tương ứng trong mã truy cập.
Thông tin chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Các thông số |
|
||||||||
Giá trị trả về |
|
ConvertAuthorityKeyIdentifierExtension
WEAVE_ERROR ConvertAuthorityKeyIdentifierExtension( ASN1Reader & reader, TLVWriter & writer )
Chứng chỉ chuyển đổi
WEAVE_ERROR ConvertCertificate( ASN1Reader & reader, TLVWriter & writer )
Chuyển đổi tên được phân biệt
WEAVE_ERROR ConvertDistinguishedName( ASN1Reader & reader, TLVWriter & writer, uint64_t tag )
ConvertECDSAChữ ký_DERToWeave
WEAVE_ERROR ConvertECDSASignature_DERToWeave( const uint8_t *sigBuf, uint8_t sigLen, TLVWriter & writer, uint64_t tag )
Chuyển đổi tiện ích
WEAVE_ERROR ConvertExtension( ASN1Reader & reader, TLVWriter & writer )
Chuyển đổi tiện ích
WEAVE_ERROR ConvertExtensions( ASN1Reader & reader, TLVWriter & writer )
Chuyển đổi chủ đề khóa công khai
WEAVE_ERROR ConvertSubjectPublicKeyInfo( ASN1Reader & reader, TLVWriter & writer )
Tính hợp lệ của lượt chuyển đổi
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 )
Mã hóa chuyển đổi giải mã cơ bản
WEAVE_ERROR DecodeConvertBasicConstraintsExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
Giải mã đã chuyển đổi
WEAVE_ERROR DecodeConvertCert( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
Giải mã chuyển đổiDN
WEAVE_ERROR DecodeConvertDN( TLVReader & reader, ASN1Writer & writer, WeaveDN & dn )
Chữ ký DecodeConvertECDSA
WEAVE_ERROR DecodeConvertECDSASignature( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertExtendedKeyUsageExtension
WEAVE_ERROR DecodeConvertExtendedKeyUsageExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
Giải mã chuyển đổi tiện ích
WEAVE_ERROR DecodeConvertExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
Giải mã chuyển đổi tiện ích
WEAVE_ERROR DecodeConvertExtensions( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertKeyUsageExtension
WEAVE_ERROR DecodeConvertKeyUsageExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertRSAChữ ký
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 )
Giải mã chuyển đổiTBSCert
WEAVE_ERROR DecodeConvertTBSCert( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
Giải mã chuyển đổi hợp lệ
WEAVE_ERROR DecodeConvertValidity( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
Sao chép giải mã ECDSAsignature_DER
WEAVE_ERROR DecodeCopyECDSASignature_DER( const uint8_t *sigBuf, uint8_t sigLen, EncodedECDSASignature & sig )
Giải mã
WEAVE_ERROR DecodeWeaveCert( const uint8_t *weaveCert, uint32_t weaveCertLen, WeaveCertificateData & certData )
Giải mã
WEAVE_ERROR DecodeWeaveCert( TLVReader & reader, WeaveCertificateData & certData )
Giải mã WeaveDN
WEAVE_ERROR DecodeWeaveDN( TLVReader & reader, WeaveDN & dn )
Chữ ký DecodeWeaveECDSA
WEAVE_ERROR DecodeWeaveECDSASignature( TLVReader & reader, EncodedECDSASignature & sig )
Giải mã riêng tư khóa bí mật
NL_DLL_EXPORT WEAVE_ERROR DecodeWeaveECPrivateKey( const uint8_t *buf, uint32_t len, uint32_t & weaveCurveId, EncodedECPublicKey & pubKey, EncodedECPrivateKey & privKey )
Mô tả WeaveCertId
const char * DescribeWeaveCertId( OID attrOID, uint64_t weaveCertId )
Xác định loại
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 việc đánh giá chung về loại chứng chỉ dựa trên cấu trúc của tên phân biệt đối tượng và các tiện ích hiện có. Bạn có thể ghi đè bài đánh giá này bằng cách đặt cert.CertType thành giá trị khác, bao gồm cả 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ỉ của ứng dụng ngang hàng nếu có liên kết với một chứng chỉ gốc đáng tin cậy. Tuy nhiên, loại được chỉ định cho một chứng chỉ có thể ảnh hưởng đến tự nhiên 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 các tính năng nhất định. Do đó, những thay đổi đối với thuật toán này có thể có tác động đến RẤT NHIỀU TÍN HIỆU và HIỆU SUẤT TÂY BAN NHA trên toàn bộ hệ thống, do đó, bạn không nên hiểu rõ về các hệ quả.
LƯU Ý: Cấu trúc của chứng chỉ mã thông báo truy cập không được chỉ phân biệt theo cấu trúc của chúng. Do đó, hàm này không bao giờ đặt cert.CertType = kCertType_AccessToken.
Chữ ký EncodeWeaveECDSA
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 )
Trích xuất
WEAVE_ERROR ExtractCertFromAccessToken( TLVReader & reader, TLVWriter & writer, uint64_t tag )
Đọc Mã truy cập Weave và trích xuất Chứng chỉ mã truy cập.
Hàm này đọc Mã thông báo truy cập Weave từ TLV Reader và ghi Chứng chỉ mã thông báo truy cập vào TLVWriter được chỉ định.
Thông tin chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Các thông số |
|
||||||||
Giá trị trả về |
|
Trích xuất công khai
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 riêng tư.
Hàm này giải mã mã truy cập Weave Access cụ thể và trích xuất trường khóa riêng tư từ mã thông báo.
Thông tin chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Các thông số |
|
||||||||||
Giá trị trả về |
|
Trích xuất công khai
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ã truy cập Weave Access cụ thể và trích xuất trường khóa riêng tư từ mã thông báo.
Thông tin chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Các thông số |
|
||||||||
Giá trị trả về |
|
Chữ ký CreateAndEncodeWeaveECDSA
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ý Weave ECDSA.
Tính toán chữ ký ECDSA bằng cách sử dụng khóa cá nhân và hàm băm thư và cho phép ký chữ ký dưới dạng cấu trúc Chữ ký ECDSA được gửi tới trình ghi TLV được chỉ định có thẻ đã cho.
Thông tin chi tiết | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Các thông số |
|
||||||||||||
Giá trị trả về |
|
Tạo điều hành thiết bị
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ị hoạt động Weave.
Hàm này tạo chứng chỉ hoạt động tự ký Weave được mã hóa ở định dạng Weave TLV.
Thông tin chi tiết | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Các thông số |
|
||||||||||||
Giá trị trả về |
|
GetWeaveChữAlgo
WEAVE_ERROR GetWeaveSignatureAlgo( const uint8_t *sig, uint16_t sigLen, OID & sigAlgoOID )
Thụt lề
void Indent( FILE *out, uint16_t count )
InsertSCertificatesIntoWeaveChữ ký
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 )
Bộ IsCurveInSet
bool IsCurveInSet( uint32_t curveId, uint8_t curveSet )
Con đường được hỗ trợ
bool IsSupportedCurve( uint32_t curveId )
IsWeaveIdX509Attr
bool IsWeaveIdX509Attr( OID oid )
IsWeaveX509Attr
bool IsWeaveX509Attr( OID oid )
TảiAccessTokenCerts
WEAVE_ERROR LoadAccessTokenCerts( const uint8_t *accessToken, uint32_t accessTokenLen, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert )
Tải các chứng chỉ trong mã thông báo truy cập vào một nhóm chứng chỉ Weave.
Hàm này giải mã mã truy cập Weave đã cho và tải các chứng chỉ mã truy cập vào đối tượng đã đặt chứng chỉ Weave đã chỉ định. Nếu mã truy cập chứa một hoặc nhiều chứng chỉ liên quan, các mã này cũng được tải vào bộ chứng chỉ.
Thông tin chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Các thông số |
|
||||||||||
Giá trị trả về |
|
TảiAccessTokenCerts
WEAVE_ERROR LoadAccessTokenCerts( TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert )
Tải các chứng chỉ trong mã thông báo truy cập vào một nhóm chứng chỉ Weave.
Hàm này đọc mã thông báo truy cập Weave từ một TLV Reader đã cho và tải chứng chỉ mã truy cập vào đối tượng bộ chứng chỉ Weave đã chỉ định. Nếu mã truy cập chứa một hoặc nhiều chứng chỉ liên quan, các mã này cũng được tải vào bộ chứng chỉ.
Thông tin chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Các thông số |
|
||||||||
Giá trị trả về |
|
Tạo thông tin đăng nhập thiết bị
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 một hàm băm xác minh (ở định dạng base-64) cho một nhóm thông tin đăng nhập thiết bị của Máy điều nhiệt.
Thông tin chi tiết | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Các thông số |
|
||||||||||||||||
Giá trị trả về |
|
Cung cấp thông tin ôn tập
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 hàm băm xác minh (ở định dạng base-64) cho một nhóm thông tin cấp phép Weave đã cho.
Thông tin chi tiết | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Các thông số |
|
||||||||||||||||||
Giá trị trả về |
|
OIDToWeaveCurveId
uint32_t OIDToWeaveCurveId( ASN1::OID curveOID )
Gói thời gian
NL_DLL_EXPORT WEAVE_ERROR PackCertTime( const ASN1UniversalTime & time, uint32_t & packedTime )
Chuyển đổi ngày/giờ chứng chỉ (dưới dạng cấu trúc thời gian toàn cầu 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 bản trình bày thu gọn cho các giá trị thời gian trong chứng chỉ (không trước và không sau) không yêu cầu tính toán toàn bộ lịch.
Ngày/giờ đóng gói chứng chỉ chứa các trường của ngày/giờ theo lịch, tức là năm, tháng, ngày, giờ, phút, được đóng gói thành số nguyên không dấu. Biểu diễn bit được sắp xếp để các phép so sánh thứ tự của 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, ngày/giờ đóng gói chứng chỉ được giới hạn ở các thời điểm vào hoặc sau ngày 1/1/2000 00:00:00. Khi nằm trong số nguyên 32 bit không có chữ ký, ngày/giờ chứng chỉ được đóng gói có thể đại diện cho số lần tính đến năm 2133.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các thông số |
|
||||
Giá trị trả về |
|
Gói đã chọn cho thời gian
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.
Thông tin chi tiết | |||
---|---|---|---|
Các thông số |
|
||
Trả về |
Ngày/giờ chứng chỉ gói tương ứng.
|
PackageedCertTimeToDate
NL_DLL_EXPORT uint16_t PackedCertTimeToDate( uint32_t packedTime )
Chuyển đổi ngày/giờ chứng chỉ đã đóng gói thành ngày chứng chỉ đóng gói.
Ngày của chứng chỉ được đóng gói chứa các trường của một ngày tháng theo lịch, tháng, được đóng gói trong một số nguyên không dấu. Các bit được sắp xếp sao cho các phép so sánh thứ tự của 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, ngày chứng chỉ đóng gói bị giới hạn ở việc biểu thị ngày vào hoặc sau ngày 01/01/2000. Khi được đặt trong một số nguyên không dấu 16 bit, các ngày chứng nhận được đóng gói có thể biểu thị các ngày cho đến năm 2176.
Thông tin chi tiết | |||
---|---|---|---|
Các thông số |
|
||
Trả về |
Ngày của chứng chỉ gói tương ứng.
|
Thuộc tính ParseWeaveId
WEAVE_ERROR ParseWeaveIdAttribute( ASN1Reader & reader, uint64_t & weaveIdOut )
Ảnh in giấy
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 )
Tham chiếu lệnh in
WEAVE_ERROR PrintCertReference( FILE *out, TLVReader & reader, uint16_t indent )
Loại bản in
void PrintCertType( FILE *out, uint8_t certType )
Kết quả xác thực in
NL_DLL_EXPORT void PrintCertValidationResults( FILE *out, const WeaveCertificateSet & certSet, const ValidationContext & validContext, uint16_t indent )
Chữ ký PrintECDSA
WEAVE_ERROR PrintECDSASignature( FILE *out, TLVReader & reader, uint16_t indent )
Trường inHex
void PrintHexField( FILE *out, const char *name, uint16_t indent, uint16_t count, const uint8_t *data )
Bản in đã in
void PrintPackedDate( FILE *out, uint16_t t )
Thời gian in
void PrintPackedTime( FILE *out, uint32_t t )
InWeaveDN
void PrintWeaveDN( FILE *out, const WeaveDN & dn )
InWeaveDN
WEAVE_ERROR PrintWeaveDN( FILE *out, TLVReader & reader )
Chữ ký WeInveve
WEAVE_ERROR PrintWeaveSignature( FILE *out, TLVReader & reader, uint16_t indent )
Thứ hai kể từ thời điểm
NL_DLL_EXPORT uint32_t SecondsSinceEpochToPackedCertTime( uint32_t secondsSinceEpoch )
Chuyển đổi số giây kể từ ngày 01:00: 00:00 UTC ngày 1970-01-01 giờ UTC thành ngày/giờ chứng chỉ đã đóng gói.
Thông tin chi tiết | |||
---|---|---|---|
Các thông số |
|
||
Trả về |
Ngày/giờ chứng chỉ gói tương ứng.
|
Lỗi DịchOpenSSL
WEAVE_ERROR TranslateOpenSSLError( WEAVE_ERROR defaultErr )
Giải nén thời gian
NL_DLL_EXPORT WEAVE_ERROR UnpackCertTime( uint32_t packedTime, ASN1UniversalTime & time )
Giải nén ngày/giờ chứng nhận đã đóng gói thành một cấu trúc thời gian phổ biến là ASN.1.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các thông số |
|
||||
Giá trị trả về |
|
Xác minh chữ ký quốc tế
NL_DLL_EXPORT WEAVE_ERROR VerifyWeaveSignature( const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *sig, uint16_t sigLen, WeaveCertificateSet & certSet, ValidationContext & certValidContext )
Xác minh chữ ký quốc tế
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 )