nl:: Tenun:: Profil:: Keamanan
Namespace ini mencakup semua antarmuka dalam Weave untuk profil Keamanan Weave.
Ringkasan
Enumerasi |
|
---|---|
@235
|
enum Flag Tujuan Kunci Sertifikat X.509. |
@236
|
enum Tanda Penggunaan Kunci Sertifikat X.509. |
@237
|
enum Bendera Sertifikat Menenun. |
@238
|
enum Flag Dekode Sertifikat Tenun. |
@239
|
enum Tanda Validasi Sertifikat Tenun. |
@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 Buat tanda tangan ECDSA menggunakan kunci pribadi node Weave lokal. |
Variabel |
|
---|---|
gProvisioningBundleKDFSalt = "Weave Provisioning Bundle v1"[]
|
const char
|
Fungsi |
|
---|---|
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)
|
Menentukan jenis umum sertifikat 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)
|
Membaca Token Akses Weave dan mengekstrak Sertifikat Token Akses.
|
ExtractPrivateKeyFromAccessToken(const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *privKeyBuf, uint16_t privKeyBufSize, uint16_t & privKeyLen)
|
Membaca Token Akses Weave dan mengekstrak kunci pribadi.
|
ExtractPrivateKeyFromAccessToken(TLVReader & reader, TLVWriter & writer)
|
Membaca Token Akses Weave dan mengekstrak kunci pribadi.
|
GenerateAndEncodeWeaveECDSASignature(TLVWriter & writer, uint64_t tag, const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *signingKey, uint16_t signingKeyLen)
|
Membuat dan mengenkode tanda tangan Weave ECDSA.
|
GenerateOperationalDeviceCert(uint64_t deviceId, EncodedECPublicKey & devicePubKey, uint8_t *cert, uint16_t certBufSize, uint16_t & certLen, GenerateECDSASignatureFunct genCertSignature)
|
NL_DLL_EXPORT WEAVE_ERROR
Membuat sertifikat perangkat operasional 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)
|
Memuat sertifikat dalam token akses ke dalam kumpulan sertifikat Weave.
|
LoadAccessTokenCerts(TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert)
|
Memuat sertifikat dalam token akses ke dalam kumpulan sertifikat 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
Membuat hash verifikasi (dalam format base-64) untuk serangkaian kredensial perangkat Thermostat tertentu.
|
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
Buat hash verifikasi (dalam format base-64) untuk sekumpulan informasi penyediaan Weave tertentu.
|
OIDToWeaveCurveId(ASN1::OID curveOID)
|
uint32_t
|
PackCertTime(const ASN1UniversalTime & time, uint32_t & packedTime)
|
NL_DLL_EXPORT WEAVE_ERROR
Mengonversi tanggal/waktu sertifikat (dalam bentuk struktur waktu universal ASN.1) menjadi tanggal/waktu sertifikat yang dikemas.
|
PackedCertDateToTime(uint16_t packedDate)
|
NL_DLL_EXPORT uint32_t
Konversikan tanggal sertifikat yang dikemas ke tanggal/waktu sertifikat dikemas yang sesuai, dengan bagian waktu nilai tersebut ditetapkan ke 00:00:00.
|
PackedCertTimeToDate(uint32_t packedTime)
|
NL_DLL_EXPORT uint16_t
Konversikan tanggal/waktu sertifikat yang dikemas menjadi tanggal sertifikat yang dikemas.
|
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
Mengonversi jumlah detik sejak 1970-01-01 00:00:00 UTC menjadi tanggal/waktu sertifikat yang dikemas.
|
TranslateOpenSSLError(WEAVE_ERROR defaultErr)
|
|
UnpackCertTime(uint32_t packedTime, ASN1UniversalTime & time)
|
NL_DLL_EXPORT WEAVE_ERROR
Keluarkan tanggal/waktu sertifikat yang dikemas ke dalam struktur waktu universal 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
|
Class |
|
---|---|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
Menghasilkan WeaveSignature menggunakan kunci pribadi dalam memori. |
nl:: |
Menyediakan fungsionalitas generik untuk menghasilkan WeaveSignatures. |
Namespace |
|
---|---|
nl:: |
Namespace ini mencakup semua antarmuka dalam Weave untuk library kunci aplikasi Weave dalam profil keamanan Weave. |
nl:: |
Namespace ini mencakup semua antarmuka dalam Weave untuk protokol Certificate Authenticationd Session Enforcement (CASE) dalam profil keamanan Weave. |
nl:: |
Namespace ini mencakup semua antarmuka dalam Weave untuk protokol Penyediaan Sertifikat Weave dalam profil keamanan Weave. |
nl:: |
Namespace ini mencakup semua antarmuka dalam Weave untuk protokol ekspor kunci dalam profil keamanan Weave. |
nl:: |
Namespace ini mencakup semua antarmuka dalam protokol Weave for the Password Authenticationd Session Enforcement (PASE) dalam profil keamanan Weave. |
nl:: |
Namespace ini mencakup semua antarmuka dalam Weave untuk library kode sandi Weave dalam profil keamanan Weave. |
nl:: |
Namespace ini mencakup semua antarmuka dalam Weave untuk protokol Token Authenticationd Key Exchange (Take) dalam profil Keamanan Weave. |
Enumerasi
@235
@235
Flag Tujuan Kunci Sertifikat X.509.
@236
@236
Tanda Penggunaan Kunci Sertifikat X.509.
@237
@237
Bendera Sertifikat Menenun.
Berisi informasi tentang sertifikat yang telah dimuat ke dalam objek WeaveCertSet.
@238
@238
Flag Dekode Sertifikat Tenun.
Berisi informasi yang menentukan cara sertifikat harus didekode.
@239
@239
Tanda Validasi Sertifikat Tenun.
Berisi informasi yang menentukan cara memvalidasi sertifikat.
@240
@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)
Buat tanda tangan ECDSA menggunakan kunci pribadi node Weave lokal.
Saat dipanggil, implementasi harus menghitung tanda tangan pada nilai hash yang diberikan menggunakan kunci pribadi node.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Nilai yang Ditampilkan |
|
Variabel
ProvisioningBundleKDFSalt
const char gProvisioningBundleKDFSalt[] = "Weave Provisioning Bundle v1"
Fungsi
CASECertInfoFromAccessToken
WEAVE_ERROR CASECertInfoFromAccessToken( const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *certInfoBuf, uint16_t certInfoBufSize, uint16_t & certInfoLen )
Membaca Token Akses Weave dan membuat struktur TLV Info Sertifikat CASE yang berisi sertifikat dari token akses.
Fungsi ini mendekode Token Akses Weave tertentu dan mengenkode TLV untuk struktur Info Sertifikat CASE Weave. Kolom EntityCertificate dalam struktur CertificateInfo ditetapkan ke sertifikat token akses, dan kolom terkaitCertificates (jika ada) diatur ke kolom yang sesuai dalam token akses.
Detail | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Nilai yang Ditampilkan |
|
CASECertInfoFromAccessToken
WEAVE_ERROR CASECertInfoFromAccessToken( TLVReader & reader, TLVWriter & writer )
Membaca Token Akses Weave dan menulis struktur CASE Info Sertifikat TLV yang berisi sertifikat dari token akses.
Fungsi ini membaca Token Akses Weave dari TLVReader tertentu dan menulis TLV untuk struktur Info Sertifikat CASE Weave ke TLVWriter. Kolom EntityCertificate dalam struktur CertificateInfo ditetapkan ke sertifikat token akses, dan kolom terkaitCertificates (jika ada) diatur ke kolom yang sesuai dalam token akses.
Detail | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Nilai yang Ditampilkan |
|
ConvertAuthorityKeyIdentifierExtension
WEAVE_ERROR ConvertAuthorityKeyIdentifierExtension( ASN1Reader & reader, TLVWriter & writer )
SertifikatKonversi
WEAVE_ERROR ConvertCertificate( ASN1Reader & reader, TLVWriter & writer )
MengonversiDistinguishedName
WEAVE_ERROR ConvertDistinguishedName( ASN1Reader & reader, TLVWriter & writer, uint64_t tag )
MengonversiECDSASignature_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 )
MengonversiSubjectPublicKeyInfo
WEAVE_ERROR ConvertSubjectPublicKeyInfo( ASN1Reader & reader, TLVWriter & writer )
ConvertValiditas
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 )
MengonversiX509CertToWeaveCert
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 )
DekodeKonversiDN
WEAVE_ERROR DecodeConvertDN( TLVReader & reader, ASN1Writer & writer, WeaveDN & dn )
Tanda TanganDecodeConvertECDSA
WEAVE_ERROR DecodeConvertECDSASignature( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertExtendedKeyUsageExtension
WEAVE_ERROR DecodeConvertExtendedKeyUsageExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DekodeKonversiEkstensi
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 )
Tanda TanganDecodeConvertRSA
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 )
DekodeKonversiTBSCert
WEAVE_ERROR DecodeConvertTBSCert( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeConvertValidity
WEAVE_ERROR DecodeConvertValidity( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DekodeSalinECDSASignature_DER
WEAVE_ERROR DecodeCopyECDSASignature_DER( const uint8_t *sigBuf, uint8_t sigLen, EncodedECDSASignature & sig )
DekodeWeaveCert
WEAVE_ERROR DecodeWeaveCert( const uint8_t *weaveCert, uint32_t weaveCertLen, WeaveCertificateData & certData )
DekodeWeaveCert
WEAVE_ERROR DecodeWeaveCert( TLVReader & reader, WeaveCertificateData & certData )
DekodeWeaveDN
WEAVE_ERROR DecodeWeaveDN( TLVReader & reader, WeaveDN & dn )
Tanda Tangan DecodeWeaveECDSA
WEAVE_ERROR DecodeWeaveECDSASignature( TLVReader & reader, EncodedECDSASignature & sig )
DekodeWeaveECPrivateKey
NL_DLL_EXPORT WEAVE_ERROR DecodeWeaveECPrivateKey( const uint8_t *buf, uint32_t len, uint32_t & weaveCurveId, EncodedECPublicKey & pubKey, EncodedECPrivateKey & privKey )
JelaskanWeaveCertId
const char * DescribeWeaveCertId( OID attrOID, uint64_t weaveCertId )
MenentukanCertCertType
WEAVE_ERROR DetermineCertType( WeaveCertificateData & cert )
Menentukan jenis umum sertifikat Weave.
Fungsi ini melakukan penilaian umum terhadap jenis sertifikat berdasarkan struktur DN subjek dan ekstensi yang ada. Aplikasi bebas menggantikan penilaian ini dengan menyetel cert.CertType ke nilai lain, termasuk yang ditentukan aplikasi.
Secara umum, aplikasi hanya akan memercayai sertifikat pembanding jika sertifikat tersebut ditautkan ke root certificate tepercaya. Namun, jenis yang ditetapkan pada sertifikat dapat memengaruhi sifat kepercayaan ini, misalnya untuk mengizinkan atau melarang akses ke fitur tertentu. Oleh karena itu, perubahan pada algoritme ini dapat memiliki efek yang SANGAT PENTING dan POTENSIALNYA pada keamanan sistem secara keseluruhan, dan tidak boleh dilakukan tanpa pemahaman yang menyeluruh tentang implikasinya.
CATATAN: Sertifikat token akses tidak dapat dibedakan hanya berdasarkan strukturnya. Dengan demikian, fungsi ini tidak akan pernah menetapkan cert.CertType = kCertType_AccessToken.
Tanda Tangan 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 )
EkstrakCertFromAccessToken
WEAVE_ERROR ExtractCertFromAccessToken( TLVReader & reader, TLVWriter & writer, uint64_t tag )
Membaca Token Akses Weave dan mengekstrak Sertifikat Token Akses.
Fungsi ini membaca Token Akses Weave dari TLVReader dan menulis Sertifikat Token Akses ke TLVWriter yang ditentukan.
Detail | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Nilai yang Ditampilkan |
|
MengekstrakKeyKeyFromAccessToken
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *privKeyBuf, uint16_t privKeyBufSize, uint16_t & privKeyLen )
Membaca Token Akses Weave dan mengekstrak kunci pribadi.
Fungsi ini mendekode Token Akses Weave tertentu dan mengekstrak kolom kunci pribadi dari token.
Detail | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Nilai yang Ditampilkan |
|
MengekstrakKeyKeyFromAccessToken
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( TLVReader & reader, TLVWriter & writer )
Membaca Token Akses Weave dan mengekstrak kunci pribadi.
Fungsi ini mendekode Token Akses Weave tertentu dan mengekstrak kolom kunci pribadi dari token.
Detail | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Nilai yang Ditampilkan |
|
GenerateAndEncodeWeaveECDSASignature
WEAVE_ERROR GenerateAndEncodeWeaveECDSASignature( TLVWriter & writer, uint64_t tag, const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *signingKey, uint16_t signingKeyLen )
Membuat dan mengenkode tanda tangan Weave ECDSA.
Menghitung tanda tangan ECDSA menggunakan kunci pribadi dan hash pesan yang ditentukan serta menulis tanda tangan sebagai struktur Weave ECDSASignature ke penulis TLV yang ditentukan dengan tag tertentu.
Detail | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||
Nilai yang Ditampilkan |
|
GenerateOperationalDeviceCert
NL_DLL_EXPORT WEAVE_ERROR GenerateOperationalDeviceCert( uint64_t deviceId, EncodedECPublicKey & devicePubKey, uint8_t *cert, uint16_t certBufSize, uint16_t & certLen, GenerateECDSASignatureFunct genCertSignature )
Membuat sertifikat perangkat operasional Weave.
Fungsi ini membuat sertifikat operasional Weave yang ditandatangani sendiri yang dienkode dalam format TLV Weave.
Detail | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||
Nilai yang Ditampilkan |
|
GetWeaveSignatureAlgo
WEAVE_ERROR GetWeaveSignatureAlgo( const uint8_t *sig, uint16_t sigLen, OID & sigAlgoOID )
Indentasi
void Indent( FILE *out, uint16_t count )
Sisipkan SertifikatTerkaitIntoWeaveSignature
WEAVE_ERROR InsertRelatedCertificatesIntoWeaveSignature( uint8_t *sigBuf, uint16_t sigLen, uint16_t sigBufLen, const uint8_t *relatedCerts, uint16_t relatedCertsLen, uint16_t & outSigLen )
IsExtensionExtensionTag
bool IsCertificateExtensionTag( uint64_t tag )
IsCurveInSet
bool IsCurveInSet( uint32_t curveId, uint8_t curveSet )
KurvaIsSupported
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 )
Memuat sertifikat dalam token akses ke dalam kumpulan sertifikat Weave.
Fungsi ini mendekode token akses Weave tertentu dan memuat sertifikat token akses ke objek set sertifikat Weave yang ditentukan. Jika token akses berisi satu atau beberapa sertifikat terkait, token ini juga dimuat ke dalam kumpulan sertifikat.
Detail | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Nilai yang Ditampilkan |
|
LoadAccessTokenCerts
WEAVE_ERROR LoadAccessTokenCerts( TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert )
Memuat sertifikat dalam token akses ke dalam kumpulan sertifikat Weave.
Fungsi ini membaca token akses Weave dari TLVReader tertentu dan memuat sertifikat token akses ke objek set sertifikat Weave yang ditentukan. Jika token akses berisi satu atau beberapa sertifikat terkait, token ini juga dimuat ke dalam kumpulan sertifikat.
Detail | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Nilai yang Ditampilkan |
|
MembuatHashKredensialPerangkat
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 )
Membuat hash verifikasi (dalam format base-64) untuk serangkaian kredensial perangkat Thermostat tertentu.
Detail | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||||||
Nilai yang Ditampilkan |
|
HashMakeWeaveProvisioning
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 )
Buat hash verifikasi (dalam format base-64) untuk sekumpulan informasi penyediaan Weave tertentu.
Detail | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||||||||
Nilai yang Ditampilkan |
|
OIDToWeaveCurveId
uint32_t OIDToWeaveCurveId( ASN1::OID curveOID )
WaktuBersertifikat
NL_DLL_EXPORT WEAVE_ERROR PackCertTime( const ASN1UniversalTime & time, uint32_t & packedTime )
Mengonversi tanggal/waktu sertifikat (dalam bentuk struktur waktu universal ASN.1) menjadi tanggal/waktu sertifikat yang dikemas.
Tanggal/waktu sertifikat yang dikemas memberikan representasi ringkas untuk nilai waktu dalam sertifikat (notBefore dan notAfter) yang tidak memerlukan perhitungan kalender lengkap.
Tanggal/waktu sertifikat yang dikemas berisi kolom tanggal/waktu kalender, yaitu tahun, bulan, hari, jam, menit, detik yang dikemas ke dalam bilangan bulat yang tidak ditandatangani. Representasi bit diatur sedemikian rupa sehingga perbandingan ordinal nilai tanggal/waktu yang dikemas sesuai dengan urutan alami waktu yang sesuai. Untuk mengurangi ukurannya, tanggal/waktu sertifikat yang dikemas dibatasi dalam mewakili waktu yang ada pada atau setelah 2000/01/01 00:00:00. Jika ditempatkan dalam bilangan bulat 32-bit tanpa tanda tangan, tanggal/waktu sertifikat yang dikemas dapat mewakili waktu hingga tahun 2133.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Nilai yang Ditampilkan |
|
PackedCertDateToTime
NL_DLL_EXPORT uint32_t PackedCertDateToTime( uint16_t packedDate )
Konversikan tanggal sertifikat yang dikemas ke tanggal/waktu sertifikat dikemas yang sesuai, dengan bagian waktu nilai tersebut ditetapkan ke 00:00:00.
Detail | |||
---|---|---|---|
Parameter |
|
||
Menampilkan |
Tanggal/waktu sertifikat paket yang sesuai.
|
PackedCertTimeToDate
NL_DLL_EXPORT uint16_t PackedCertTimeToDate( uint32_t packedTime )
Konversikan tanggal/waktu sertifikat yang dikemas menjadi tanggal sertifikat yang dikemas.
Tanggal sertifikat yang dikemas berisi kolom tanggal tahun kalender, bulan, yang dikemas ke dalam bilangan bulat yang tidak ditandatangani. Bit disusun sedemikian rupa sehingga perbandingan ordinal nilai tanggal terkemas sesuai dengan urutan alami tanggal yang sesuai. Untuk mengurangi ukurannya, tanggal sertifikat yang dikemas dibatasi untuk mewakili tanggal pada atau setelah 2000/01/01. Jika ditempatkan dalam bilangan bulat 16-bit tanpa tanda tangan, tanggal sertifikat yang dikemas dapat merepresentasikan tanggal hingga tahun 2176.
Detail | |||
---|---|---|---|
Parameter |
|
||
Menampilkan |
Tanggal sertifikat paket yang sesuai.
|
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 )
Referensi Referensi Cetak
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 )
Tanda TanganECDSA Cetak
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 )
WaktuPengemasan
void PrintPackedTime( FILE *out, uint32_t t )
PrintWeaveDN
void PrintWeaveDN( FILE *out, const WeaveDN & dn )
PrintWeaveDN
WEAVE_ERROR PrintWeaveDN( FILE *out, TLVReader & reader )
Tanda Tangan Weave
WEAVE_ERROR PrintWeaveSignature( FILE *out, TLVReader & reader, uint16_t indent )
DetikSejakEpochToPackedCertTime
NL_DLL_EXPORT uint32_t SecondsSinceEpochToPackedCertTime( uint32_t secondsSinceEpoch )
Mengonversi jumlah detik sejak 1970-01-01 00:00:00 UTC menjadi tanggal/waktu sertifikat yang dikemas.
Detail | |||
---|---|---|---|
Parameter |
|
||
Menampilkan |
Tanggal/waktu sertifikat paket yang sesuai.
|
Kesalahan OpenOpenSSL
WEAVE_ERROR TranslateOpenSSLError( WEAVE_ERROR defaultErr )
Waktu Pembongkaran
NL_DLL_EXPORT WEAVE_ERROR UnpackCertTime( uint32_t packedTime, ASN1UniversalTime & time )
Keluarkan tanggal/waktu sertifikat yang dikemas ke dalam struktur waktu universal ASN.1.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Nilai yang Ditampilkan |
|
VerifikasiTanda TanganWeave
NL_DLL_EXPORT WEAVE_ERROR VerifyWeaveSignature( const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *sig, uint16_t sigLen, WeaveCertificateSet & certSet, ValidationContext & certValidContext )
VerifikasiTanda TanganWeave
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 )