nl:: Weave:: Profiles:: Security
Không gian tên này bao gồm tất cả giao diện trong Weave dành cho cấu hình Security của Weave.
Tóm tắt
Liệt kê |
|
---|---|
@235
|
enum Cờ mục đích của khoá chứng chỉ X.509. |
@236
|
enum Cờ sử dụng khoá chứng chỉ X.509. |
@237
|
enum Đan cờ chứng chỉ. |
@238
|
enum Tạo cờ giải mã chứng chỉ. |
@239
|
enum Đan 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 khoá 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ột Mã truy cập Weave và trích xuất khoá riêng tư.
|
ExtractPrivateKeyFromAccessToken(TLVReader & reader, TLVWriter & writer)
|
Đọc một Mã truy cập Weave và trích xuất khoá 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ã hoá 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 các chứng chỉ trong một mã 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ột mã 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 hàm băm xác minh (ở định dạng base-64) cho một bộ thông tin đăng nhập thiết bị Máy điều nhiệt 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 hàm 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ờ của chứng chỉ (ở dạng cấu trúc giờ toàn cầu ASN.1) thành ngày/giờ của 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ờ của 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ờ của chứng chỉ được đóng gói thành ngày/giờ của 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ờ của chứng chỉ được đóng gói vào cấu trúc thời gian toàn cầu 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 WeaveSignature bằng cách sử dụng khoá riêng tư trong bộ nhớ. |
nl:: |
Cung cấp chức năng chung để tạo các chữ ký WeaveSignature. |
Không gian tên |
|
---|---|
nl:: |
Không gian tên này bao gồm tất cả giao diện trong thư viện khoá ứng dụng Weave trong cấu hình bảo mật Weave. |
nl:: |
Không gian tên này bao gồm tất cả giao diện trong giao thức Weave dành cho giao thức Thiết lập phiên được xác thực chứng chỉ (CASE) trong hồ sơ bảo mật Weave. |
nl:: |
Không gian tên này bao gồm tất cả giao diện trong Weave dành cho giao thức cấp phép chứng chỉ Weave trong hồ sơ bảo mật Weave. |
nl:: |
Không gian tên này bao gồm tất cả giao diện trong Weave cho giao thức xuất khoá trong cấu hình bảo mật Weave. |
nl:: |
Không gian tên này bao gồm tất cả giao diện trong giao thức Weave dành 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:: |
Không gian tên này bao gồm tất cả giao diện trong thư viện mật mã Weave trong hồ sơ bảo mật Weave. |
nl:: |
Không gian tên này bao gồm tất cả giao diện trong giao thức Weave dành cho giao thức Trao đổi khoá xác thực bằng mã thông báo (Take) trong hồ sơ Weave Security (Bảo mật). |
Liệt kê
@235
@235
Cờ mục đích của khoá chứng chỉ X.509.
@236
@236
Cờ sử dụng khoá chứng chỉ X.509.
@237
@237
Đan cờ chứng chỉ.
Chứa thông tin về một chứng chỉ đã được tải vào đối tượng WeaveCertSet.
@238
@238
Tạo cờ giải mã chứng chỉ.
Chứa thông tin chỉ định cách giải mã chứng chỉ.
@239 tuổi
@239
Đan 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 giây
@240
@280
@280
@281
@281
@282
@282
@283
@283
@284
@284
@285
@285
@286
@286
@287
@287
@288
@288
@289
@289
Typedef
GenerateECDSASignatureFunct
WEAVE_ERROR(* GenerateECDSASignatureFunct)(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig)
Tạo chữ ký ECDSA bằng khoá 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ị hàm băm đã cho bằng cách sử dụng khoá riêng tư của nút.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Tham số |
|
||||||
Giá trị trả về |
|
Biến
gProvisioningBundleKDFSalt
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ột Mã 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ột Mã thông báo truy cập Weave nhất định và mã hoá TLV cho cấu trúc Thông tin chứng chỉ Weave CASE. Trường EntityCertificates trong cấu trúc CertificateInfo được đặt thành chứng chỉ mã truy cập và trường liên quan đến chứng chỉ (nếu có) được đặt thành trường tương ứng trong mã truy cập.
Thông tin chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Tham số |
|
||||||||||
Giá trị trả về |
|
CASECertInfoFromAccessToken
WEAVE_ERROR CASECertInfoFromAccessToken( TLVReader & reader, TLVWriter & writer )
Đọc một Mã truy cập Weave và viết 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 đọc một Mã thông báo 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 EntityCertificates trong cấu trúc CertificateInfo được đặt thành chứng chỉ mã truy cập và trường liên quan đến chứng chỉ (nếu có) được đặt thành trường tương ứng trong mã truy cập.
Thông tin chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Tham số |
|
||||||||
Giá trị trả về |
|
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 )
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 )
DetermineCertType
WEAVE_ERROR DetermineCertType( WeaveCertificateData & cert )
Xác định loại chung của chứng chỉ Weave.
Hàm này đánh giá chung về loại chứng chỉ dựa trên cấu trúc mã DN của chủ đề và phần mở rộng hiện có. Ứng dụng có thể tuỳ ý ghi đè bài đánh giá này bằng cách đặt cert.CertType thành một giá trị khác, bao gồm cả giá trị do ứng dụng xác định.
Nhìn chung, ứng dụng sẽ chỉ tin tưởng chứng chỉ của ứng dụng ngang hàng nếu chứng chỉ đó 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 chứng chỉ có thể ảnh hưởng đến bản chất của sự tin cậy này, ví dụ: để cho phép hoặc không cho phép truy cập vào một số tính năng. Do đó, các thay đổi đối với thuật toán này có thể có tác động RẤT QUAN TRỌNG và TIỀM NĂNG TIỀM NĂNG đối với tính bảo mật tổng thể của hệ thống. Bạn không nên thực hiện thay đổi khi chưa hiểu rõ tác động của các thay đổi đó.
LƯU Ý: Không thể phân biệt chứng chỉ mã truy cập chỉ bằng cấu trúc. Do đó, 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ã truy cập Weave và trích xuất Chứng chỉ Mã truy cập.
Hàm này đọc Weave Access Token từ TLVReader và ghi Chứng chỉ mã truy cập vào một TLVWriter được chỉ định.
Thông tin chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Tham số |
|
||||||||
Giá trị trả về |
|
ExtractPrivateKeyFromAccessToken
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *privKeyBuf, uint16_t privKeyBufSize, uint16_t & privKeyLen )
Đọc một Mã truy cập Weave và trích xuất khoá riêng tư.
Hàm này giải mã một Mã thông báo truy cập Weave nhất định và trích xuất trường khoá riêng tư từ mã thông báo.
Thông tin chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Tham số |
|
||||||||||
Giá trị trả về |
|
ExtractPrivateKeyFromAccessToken
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( TLVReader & reader, TLVWriter & writer )
Đọc một Mã truy cập Weave và trích xuất khoá riêng tư.
Hàm này giải mã một Mã thông báo truy cập Weave nhất định và trích xuất trường khoá riêng tư từ mã thông báo.
Thông tin chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Tham số |
|
||||||||
Giá trị trả về |
|
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ã hoá chữ ký ECDSA của Weave.
Tính toán chữ ký ECDSA bằng cách sử dụng một khoá riêng tư và hàm băm thông báo nhất định, đồng thời viết chữ ký dưới dạng cấu trúc Weave ECDSASignature cho trình ghi TLV được chỉ định bằng thẻ đã cho.
Thông tin chi tiết | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tham số |
|
||||||||||||
Giá trị trả về |
|
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.
Hàm này tạo chứng chỉ hoạt động tự ký của Weave được mã hoá theo định dạng TLV của Weave.
Thông tin chi tiết | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tham số |
|
||||||||||||
Giá trị trả về |
|
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 các chứng chỉ trong một mã truy cập vào một nhóm chứng chỉ Weave.
Hàm này giải mã một mã truy cập Weave nhất định và tải chứng chỉ mã truy cập vào đối tượng nhóm chứng chỉ Weave được chỉ định. Nếu mã thông báo truy cập chứa một hoặc nhiều chứng chỉ có liên quan, thì các chứng chỉ này cũng sẽ được tải vào bộ chứng chỉ.
Thông tin chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Tham số |
|
||||||||||
Giá trị trả về |
|
LoadAccessTokenCerts
WEAVE_ERROR LoadAccessTokenCerts( TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert )
Tải các chứng chỉ trong một mã 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 TLVReader đã cho và tải chứng chỉ mã truy cập vào đối tượng nhóm chứng chỉ Weave được chỉ định. Nếu mã thông báo truy cập chứa một hoặc nhiều chứng chỉ có liên quan, thì các chứng chỉ này cũng sẽ được tải vào bộ chứng chỉ.
Thông tin chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Tham số |
|
||||||||
Giá trị trả về |
|
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 hàm băm xác minh (ở định dạng base-64) cho một bộ thông tin đăng nhập thiết bị Máy điều nhiệt nhất định.
Thông tin chi tiết | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tham số |
|
||||||||||||||||
Giá trị trả về |
|
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 )
Tạo hàm 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.
Thông tin chi tiết | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tham số |
|
||||||||||||||||||
Giá trị trả về |
|
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ờ của chứng chỉ (ở dạng cấu trúc giờ toàn cầu ASN.1) thành ngày/giờ của chứng chỉ được đóng gói.
Ngày/giờ của chứng chỉ được đóng gói cung cấp cách biểu diễn ngắn gọn cho các giá trị thời gian trong chứng chỉ (notBefore và notAfter) mà không yêu cầu diễn giải toán học đầy đủ trên lịch.
Ngày/giờ của chứng chỉ được đóng gói chứa các trường ngày/giờ theo lịch. năm, tháng, ngày, giờ, phút, gói thứ hai thành một số nguyên không dấu. Biểu diễn bit được sắp xếp sao cho phép so sánh 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/giờ chứng chỉ được đóng gói được giới hạn để đại diện cho các lần vào hoặc sau 2000/01/01 00:00:00. Khi được đặt trong một số nguyên 32 bit chưa ký, ngày/giờ của chứng chỉ được đóng gói có thể biểu thị thời gian lên đến năm 2133.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Tham số |
|
||||
Giá trị trả về |
|
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ờ của 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 | |||
---|---|---|---|
Tham số |
|
||
Trả về |
Ngày/giờ của chứng chỉ gói tương ứng.
|
PackedCertTimeToDate
NL_DLL_EXPORT uint16_t PackedCertTimeToDate( uint32_t packedTime )
Chuyển đổi ngày/giờ của chứng chỉ được đóng gói thành ngày/giờ của chứng chỉ được đóng gói.
Ngày chứng chỉ được đóng gói chứa các trường ngày trong lịch, năm, ngày được đóng gói thành một số nguyên chưa ký. Các bit được sắp xếp sao cho phép so sánh thứ tự của các giá trị ngày được đó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ỉ đóng gói được giới hạn để đại diện cho ngày vào hoặc sau ngày 1/1/2000. Khi được đặt trong một số nguyên 16 bit chưa ký, ngày của chứng chỉ được đóng gói có thể đại diện cho các ngày tính đến năm 2176.
Thông tin chi tiết | |||
---|---|---|---|
Tham số |
|
||
Trả về |
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.
Thông tin chi tiết | |||
---|---|---|---|
Tham số |
|
||
Trả về |
Ngày/giờ của 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ờ của chứng chỉ được đóng gói vào cấu trúc thời gian toàn cầu ASN.1.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Tham số |
|
||||
Giá trị trả về |
|
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 )