nl:: Weave:: Profiller:: Güvenlik
Bu ad alanı, Weave Güvenlik profili için Weave içindeki tüm arayüzleri içerir.
Özet
Sıralamalar |
|
---|---|
@235
|
enum X.509 Sertifika Anahtarı Amaç İşaretleri. |
@236
|
enum X.509 Sertifika Anahtarı Kullanım İşaretleri. |
@237
|
enum Dokuma Sertifika İşaretleri. |
@238
|
enum Weave Sertifika Kod Çözme İşaretleri. |
@239
|
enum Weave Sertifika Doğrulama İşaretleri. |
@240
|
enum |
@280
|
enum |
@281
|
enum |
@282
|
enum |
@283
|
enum |
@284
|
enum |
@285
|
enum |
@286
|
enum |
@287
|
enum |
@288
|
enum |
@289
|
enum |
Türler |
|
---|---|
GenerateECDSASignatureFunct)(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig)
|
Tür Yerel Weave düğümünün özel anahtarını kullanarak bir ECDSA imzası oluşturun. |
Değişkenler |
|
---|---|
gProvisioningBundleKDFSalt = "Weave Provisioning Bundle v1"[]
|
const char
|
İşlevler |
|
---|---|
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)
|
Weave sertifikasının genel türünü belirleyin.
|
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)
|
Weave Erişim Jetonu'nu okur ve Erişim Jetonu Sertifikası'nı çıkarır.
|
ExtractPrivateKeyFromAccessToken(const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *privKeyBuf, uint16_t privKeyBufSize, uint16_t & privKeyLen)
|
Weave Erişim Jetonu'nu okur ve özel anahtarı çıkarır.
|
ExtractPrivateKeyFromAccessToken(TLVReader & reader, TLVWriter & writer)
|
Weave Erişim Jetonu'nu okur ve özel anahtarı çıkarır.
|
GenerateAndEncodeWeaveECDSASignature(TLVWriter & writer, uint64_t tag, const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *signingKey, uint16_t signingKeyLen)
|
Weave ECDSA imzası oluşturun ve kodlayın.
|
GenerateOperationalDeviceCert(uint64_t deviceId, EncodedECPublicKey & devicePubKey, uint8_t *cert, uint16_t certBufSize, uint16_t & certLen, GenerateECDSASignatureFunct genCertSignature)
|
NL_DLL_EXPORT WEAVE_ERROR
Weave operasyonel cihaz sertifikası oluşturun.
|
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)
|
Bir erişim jetonundaki sertifikaları Weave sertifika grubuna yükleyin.
|
LoadAccessTokenCerts(TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert)
|
Bir erişim jetonundaki sertifikaları Weave sertifika grubuna yükleyin.
|
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
Belirli bir Termostat cihaz kimlik bilgileri grubu için bir doğrulama karması (base 64 biçiminde) oluşturun.
|
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
Belirli bir Weave temel hazırlık bilgileri grubu için bir doğrulama karması (base 64 biçiminde) oluşturun.
|
OIDToWeaveCurveId(ASN1::OID curveOID)
|
uint32_t
|
PackCertTime(const ASN1UniversalTime & time, uint32_t & packedTime)
|
NL_DLL_EXPORT WEAVE_ERROR
Bir sertifika tarihini/saatini (ASN.1 evrensel saat yapısı biçiminde) paketlenmiş bir sertifika tarihine/saatine dönüştürün.
|
PackedCertDateToTime(uint16_t packedDate)
|
NL_DLL_EXPORT uint32_t
Paketlenmiş bir sertifikanın tarihini, karşılık gelen paketlenmiş sertifika tarihi/saatine dönüştürün. Burada değerin zaman kısmı 00:00:00 olarak ayarlanmıştır.
|
PackedCertTimeToDate(uint32_t packedTime)
|
NL_DLL_EXPORT uint16_t
Paketlenmiş bir sertifika tarihini/saatini paketli sertifika tarihine dönüştürme.
|
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
1970-01-01 00:00:00 UTC tarihinden itibaren saniye sayısını paketlenmiş bir sertifika tarihine/saatine dönüştürün.
|
TranslateOpenSSLError(WEAVE_ERROR defaultErr)
|
|
UnpackCertTime(uint32_t packedTime, ASN1UniversalTime & time)
|
NL_DLL_EXPORT WEAVE_ERROR
Paketlenmiş bir sertifikanın tarihini/saatini ASN.1 evrensel saat yapısına ekleyin.
|
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
|
Sınıflar |
|
---|---|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
Bellek içi özel anahtar kullanarak WeaveSignature oluşturur. |
nl:: |
WeaveSignatures için genel işlevler sağlar. |
Ad alanları |
|
---|---|
nl:: |
Bu ad alanı, Weave güvenlik profilindeki Weave uygulama anahtarları kitaplığı için Weave içindeki tüm arayüzleri içerir. |
nl:: |
Bu ad alanı, Weave güvenlik profilindeki Sertifika Kimlik Doğrulaması Yapılmış Oturum Oluşturma (CASE) protokolü için Weave içindeki tüm arayüzleri içerir. |
nl:: |
Bu ad alanı, Weave güvenlik profilindeki Weave Sertifika Sağlama protokolü için Weave içindeki tüm arayüzleri içerir. |
nl:: |
Bu ad alanı, Weave güvenlik profilindeki anahtar dışa aktarma protokolü için Weave'deki tüm arayüzleri içerir. |
nl:: |
Bu ad alanı, Weave güvenlik profilindeki Weave içinde Şifre Kimlik Doğrulaması Yapılmış Oturum Oluşturma (PASE) protokolü için tüm arayüzleri içerir. |
nl:: |
Bu ad alanı, Weave güvenlik profilindeki Weave şifre kodları kitaplığı için Weave içindeki tüm arayüzleri içerir. |
nl:: |
Bu ad alanı, Weave Güvenlik profilindeki Jeton Kimlik Doğrulaması Yapılmış Anahtar Değişimi (Take) protokolü için Weave içindeki tüm arayüzleri içerir. |
Sıralamalar
@235
@235
X.509 Sertifika Anahtarı Amaç İşaretleri.
@236
@236
X.509 Sertifika Anahtarı Kullanım İşaretleri.
@237
@237
Dokuma Sertifika İşaretleri.
WeaveCertSet nesnesine yüklenmiş bir sertifika hakkında bilgi içerir.
@238
@238
Weave Sertifika Kod Çözme İşaretleri.
Bir sertifikanın kodunun nasıl çözüleceğini belirten bilgileri içerir.
@239
@239
Weave Sertifika Doğrulama İşaretleri.
Bir sertifikanın nasıl doğrulanacağını belirten bilgileri içerir.
@240
@240
@280
@280
@281
@281
@282
@282
@283
@283
@284
@284
@285
@285
@286
@286
@287
@287
@288
@288
@289
@289
Türler
GenerateECDSASignatureFunct
WEAVE_ERROR(* GenerateECDSASignatureFunct)(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig)
Yerel Weave düğümünün özel anahtarını kullanarak bir ECDSA imzası oluşturun.
Uygulamalar çağrıldığında, düğümün özel anahtarını kullanarak belirli bir hash değerinde imza hesaplamalıdır.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Döndürülen Değerler |
|
Değişkenler
gProvisioningBundleKDFSalt
const char gProvisioningBundleKDFSalt[] = "Weave Provisioning Bundle v1"
İşlevler
CASECertInfoFromAccessToken
WEAVE_ERROR CASECertInfoFromAccessToken( const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *certInfoBuf, uint16_t certInfoBufSize, uint16_t & certInfoLen )
Weave Erişim Jetonu'nu okur ve erişim jetonunun sertifikalarını içeren bir CASE Sertifika Bilgileri TLV yapısı oluşturur.
Bu işlev, belirli bir Weave Erişim Jetonunun kodunu çözer ve Weave CASE Sertifika Bilgileri yapısı için TLV'yi kodlar. CertificateInfo yapısındaki EntityCertificate alanı, erişim jetonu sertifikasına, relatedCertificates alanı (varsa) erişim jetonundaki ilgili alana ayarlanır.
Ayrıntılar | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||
Döndürülen Değerler |
|
CASECertInfoFromAccessToken
WEAVE_ERROR CASECertInfoFromAccessToken( TLVReader & reader, TLVWriter & writer )
Weave Erişim Jetonu'nu okur ve erişim jetonundan gelen sertifikaları içeren bir CASE Sertifika Bilgileri TLV yapısı yazar.
Bu işlev, belirli bir TLVReader'dan Weave Access Token'ı okur ve WeVa CASE Sertifika Bilgileri yapısı için TLV'yi TLVWriter'a yazar. CertificateInfo yapısındaki EntityCertificate alanı, erişim jetonu sertifikasına, relatedCertificates alanı (varsa) erişim jetonundaki ilgili alana ayarlanır.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Döndürülen Değerler |
|
ConvertAuthorityKeyIdentifierExtension
WEAVE_ERROR ConvertAuthorityKeyIdentifierExtension( ASN1Reader & reader, TLVWriter & writer )
Dönüşüm Sertifikası
WEAVE_ERROR ConvertCertificate( ASN1Reader & reader, TLVWriter & writer )
Dönüşüm Gerçekleştirmeyenler Adı
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 )
Dönüşüm Dönüşümü
WEAVE_ERROR ConvertExtension( ASN1Reader & reader, TLVWriter & writer )
Uzantıları Dönüştür
WEAVE_ERROR ConvertExtensions( ASN1Reader & reader, TLVWriter & writer )
ConvertSubjectPublicKeyInfo
WEAVE_ERROR ConvertSubjectPublicKeyInfo( ASN1Reader & reader, TLVWriter & writer )
ConvertValidity
WEAVE_ERROR ConvertValidity( ASN1Reader & reader, TLVWriter & writer )
ConvertWeaveCertToX509Sertifika
WEAVE_ERROR ConvertWeaveCertToX509Cert( const uint8_t *weaveCert, uint32_t weaveCertLen, uint8_t *x509CertBuf, uint32_t x509CertBufSize, uint32_t & x509CertLen )
ConvertX509CertToWeaveCert seçeneği
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 )
Kod Çözme Sertifikası
WEAVE_ERROR DecodeConvertCert( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
Kod Dönüştürücü
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 )
Kod Çözme Uzantısı
WEAVE_ERROR DecodeConvertExtension( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
Kod Çözme Uzantıları
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 )
Kod Çözme TBSSertifikası
WEAVE_ERROR DecodeConvertTBSCert( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
Kod Çözme Geçerliliği
WEAVE_ERROR DecodeConvertValidity( TLVReader & reader, ASN1Writer & writer, WeaveCertificateData & certData )
DecodeCopyECDSASignature_DER
WEAVE_ERROR DecodeCopyECDSASignature_DER( const uint8_t *sigBuf, uint8_t sigLen, EncodedECDSASignature & sig )
Kod Çözme Sertifikası
WEAVE_ERROR DecodeWeaveCert( const uint8_t *weaveCert, uint32_t weaveCertLen, WeaveCertificateData & certData )
Kod Çözme Sertifikası
WEAVE_ERROR DecodeWeaveCert( TLVReader & reader, WeaveCertificateData & certData )
DecodeWeaveDN
WEAVE_ERROR DecodeWeaveDN( TLVReader & reader, WeaveDN & dn )
DecodeWeaveECDSASignature
WEAVE_ERROR DecodeWeaveECDSASignature( TLVReader & reader, EncodedECDSASignature & sig )
DecodeWeaveECÖzelAnahtarı
NL_DLL_EXPORT WEAVE_ERROR DecodeWeaveECPrivateKey( const uint8_t *buf, uint32_t len, uint32_t & weaveCurveId, EncodedECPublicKey & pubKey, EncodedECPrivateKey & privKey )
ExplainWeaveCertId
const char * DescribeWeaveCertId( OID attrOID, uint64_t weaveCertId )
belirleyiciCertType
WEAVE_ERROR DetermineCertType( WeaveCertificateData & cert )
Weave sertifikasının genel türünü belirleyin.
Bu işlev, konu DN'sinin yapısına ve mevcut uzantılara bağlı olarak sertifika türünün genel bir değerlendirmesini gerçekleştirir. Uygulamalar, cert.CertType değerini uygulama tanımlı bir değer de dahil olmak üzere başka bir değere ayarlayarak bu değerlendirmeyi geçersiz kılabilir.
Genel olarak uygulamalar bir emsal sertifikasına güvenirler. Bu sertifika güvenilir bir kök sertifikaya zincirlenirse. Ancak, bir sertifikaya atanan tür, bu güvenin doğasını etkileyebilir (örneğin, belirli özelliklere erişime izin vermek veya vermemek). Bu nedenle, bu algoritmada yapılan değişikliklerin genel sistem güvenliği üzerinde ÇALIŞMALI ve POTANSİYEL KATEGORİ Etkisi olabilir. Bu etkileri ayrıntılı olarak anlamadan yapılmamalıdır.
NOT: Erişim jetonu sertifikaları yalnızca yapılarına göre ayırt edilemez. Dolayısıyla, bu işlev hiçbir zaman cert.CertType = kCertType_AccessToken değerini ayarlamaz.
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 )
CertCertFromAccessToken Ayıklama
WEAVE_ERROR ExtractCertFromAccessToken( TLVReader & reader, TLVWriter & writer, uint64_t tag )
Weave Erişim Jetonu'nu okur ve Erişim Jetonu Sertifikası'nı çıkarır.
Bu işlev, bir $VReader'dan Weave Access Token'ı okur ve Erişim Jetonu Sertifikası'nı belirli bir TLVWriter'a yazar.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Döndürülen Değerler |
|
Çıkar/Özel Erişim Anahtarı
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *privKeyBuf, uint16_t privKeyBufSize, uint16_t & privKeyLen )
Weave Erişim Jetonu'nu okur ve özel anahtarı çıkarır.
Bu işlev, belirli bir Weave Erişim Jetonunun kodunu çözer ve özel anahtar alanını jetondan çıkarır.
Ayrıntılar | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||
Döndürülen Değerler |
|
Çıkar/Özel Erişim Anahtarı
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( TLVReader & reader, TLVWriter & writer )
Weave Erişim Jetonu'nu okur ve özel anahtarı çıkarır.
Bu işlev, belirli bir Weave Erişim Jetonunun kodunu çözer ve özel anahtar alanını jetondan çıkarır.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Döndürülen Değerler |
|
GenerateAndEncodeWeaveECDSASignature
WEAVE_ERROR GenerateAndEncodeWeaveECDSASignature( TLVWriter & writer, uint64_t tag, const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *signingKey, uint16_t signingKeyLen )
Weave ECDSA imzası oluşturun ve kodlayın.
ECDSA imzasını belirtilen bir özel anahtar ve ileti karmasını kullanarak hesaplar ve belirtilen etiketi kullanarak belirtilen TLV yazarına imzayı bir Weave ECDSASignature yapısı olarak yazar.
Ayrıntılar | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||||
Döndürülen Değerler |
|
GenerateOperationalDeviceCert
NL_DLL_EXPORT WEAVE_ERROR GenerateOperationalDeviceCert( uint64_t deviceId, EncodedECPublicKey & devicePubKey, uint8_t *cert, uint16_t certBufSize, uint16_t & certLen, GenerateECDSASignatureFunct genCertSignature )
Weave operasyonel cihaz sertifikası oluşturun.
Bu işlev, Weave TLV biçiminde kodlanmış Weave kendinden imzalı operasyonel sertifika oluşturur.
Ayrıntılar | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||||
Döndürülen Değerler |
|
GetWeaveSignatureAlgo
WEAVE_ERROR GetWeaveSignatureAlgo( const uint8_t *sig, uint16_t sigLen, OID & sigAlgoOID )
Girinti ekle
void Indent( FILE *out, uint16_t count )
Insert ilgiliCertificatesIntoWeaveSignature
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 )
IscururInSet
bool IsCurveInSet( uint32_t curveId, uint8_t curveSet )
IsSupportedCurve
bool IsSupportedCurve( uint32_t curveId )
IsWeaveIdX509Attr
bool IsWeaveIdX509Attr( OID oid )
IsWeaveX509Attr
bool IsWeaveX509Attr( OID oid )
UploadAccessTokenCerts
WEAVE_ERROR LoadAccessTokenCerts( const uint8_t *accessToken, uint32_t accessTokenLen, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert )
Bir erişim jetonundaki sertifikaları Weave sertifika grubuna yükleyin.
Bu işlev, belirli bir Weave erişim jetonunun kodunu çözer ve erişim jetonu sertifikalarını belirtilen Weave sertifika grubu nesnesine yükler. Erişim jetonları bir veya daha fazla ilgili sertifika içeriyorsa bu sertifikalar da sertifika grubuna yüklenir.
Ayrıntılar | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||
Döndürülen Değerler |
|
UploadAccessTokenCerts
WEAVE_ERROR LoadAccessTokenCerts( TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert )
Bir erişim jetonundaki sertifikaları Weave sertifika grubuna yükleyin.
Bu işlev, belirli bir TLVReader'dan Weave erişim jetonunu okur ve erişim jetonu sertifikalarını belirtilen Weave sertifika grubu nesnesine yükler. Erişim jetonları bir veya daha fazla ilgili sertifika içeriyorsa bu sertifikalar da sertifika grubuna yüklenir.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Döndürülen Değerler |
|
CihazCihaz Kimliği Oluşturma
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 )
Belirli bir Termostat cihaz kimlik bilgileri grubu için bir doğrulama karması (base 64 biçiminde) oluşturun.
Ayrıntılar | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||||||||
Döndürülen Değerler |
|
MakeWeaveProvisioning Karması
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 )
Belirli bir Weave temel hazırlık bilgileri grubu için bir doğrulama karması (base 64 biçiminde) oluşturun.
Ayrıntılar | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||||||||||
Döndürülen Değerler |
|
OIDToWeaveCurveId
uint32_t OIDToWeaveCurveId( ASN1::OID curveOID )
PackCertTime
NL_DLL_EXPORT WEAVE_ERROR PackCertTime( const ASN1UniversalTime & time, uint32_t & packedTime )
Bir sertifika tarihini/saatini (ASN.1 evrensel saat yapısı biçiminde) paketlenmiş bir sertifika tarihine/saatine dönüştürün.
Paketlenmiş sertifika tarihi/saatleri, bir sertifikadaki (notFirst ve notAfter) saat değerlerinin temsil edilmesi için tam takvim matematiği gerektirmeyen kısa bir gösterim sağlar.
Paketlenmiş sertifikanın tarihi/saati bir takvim tarihi/saati alanlarını içerir (ör. yıl, ay, gün, saat, dakika, imzasız bir tam sayı). Bit temsili, paketlenmiş tarih/saat değerlerinin sıra karşılaştırmalarının, ilgili saatlerin doğal sıralamasına karşılık gelecek şekilde düzenlenir. Boyutlarını küçültmek için, paketlenmiş sertifika tarihi/saatleri 01.01.2000 veya 00:00:00'daki tarihleri temsil eder. 32 bit imzasız bir tam sayı içinde olduğunda, paketlenmiş sertifika tarihi/saatleri 2133 yılına kadar olan süreleri temsil edebilir.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
Döndürülen Değerler |
|
PackedCertDateToTime
NL_DLL_EXPORT uint32_t PackedCertDateToTime( uint16_t packedDate )
Paketlenmiş bir sertifikanın tarihini, karşılık gelen paketlenmiş sertifika tarihi/saatine dönüştürün. Burada değerin zaman kısmı 00:00:00 olarak ayarlanmıştır.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
İlgili paket sertifikası tarihi/saati.
|
PackedCertTimeToDate
NL_DLL_EXPORT uint16_t PackedCertTimeToDate( uint32_t packedTime )
Paketlenmiş bir sertifika tarihini/saatini paketli sertifika tarihine dönüştürme.
Paketlenmiş sertifika tarihi, imzalanmamış bir tam sayı olarak takvim tarihi yılı, ay veya gün alanlarını içerir. Bitler, paketlenmiş tarih değerlerinin sıra karşılaştırmalarının, ilgili tarihlerin doğal sıralamasına karşılık gelecek şekilde düzenlenir. Boyutlarını küçültmek için, paketlenmiş sertifika tarihleri 01.01.2000'de veya bu tarihten sonra olan tarihleri temsil eder. 16 bit imzalanmamış bir tamsayı içinde olduğunda, paket sertifika tarihleri 2176 yılına kadar olan tarihleri temsil edebilir.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
İlgili paket sertifikası tarihi.
|
ParseWeaveIdAttribute
WEAVE_ERROR ParseWeaveIdAttribute( ASN1Reader & reader, uint64_t & weaveIdOut )
Basılı Sertifika
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 )
PrintCertReferans
WEAVE_ERROR PrintCertReference( FILE *out, TLVReader & reader, uint16_t indent )
PrintCertType
void PrintCertType( FILE *out, uint8_t certType )
PrintCertValidationResults sonuçları
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 )
Yazdırma Alanı
void PrintHexField( FILE *out, const char *name, uint16_t indent, uint16_t count, const uint8_t *data )
Yazdırma Paketinin Tarihi
void PrintPackedDate( FILE *out, uint16_t t )
Yazdırma Zamanı
void PrintPackedTime( FILE *out, uint32_t t )
BaskıWeaveDN
void PrintWeaveDN( FILE *out, const WeaveDN & dn )
BaskıWeaveDN
WEAVE_ERROR PrintWeaveDN( FILE *out, TLVReader & reader )
PrintWeaveSignature
WEAVE_ERROR PrintWeaveSignature( FILE *out, TLVReader & reader, uint16_t indent )
Saniyeden BeriEpochToPackedCertTime
NL_DLL_EXPORT uint32_t SecondsSinceEpochToPackedCertTime( uint32_t secondsSinceEpoch )
1970-01-01 00:00:00 UTC tarihinden itibaren saniye sayısını paketlenmiş bir sertifika tarihine/saatine dönüştürün.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
İlgili paket sertifikası tarihi/saati.
|
ÇeviriOpenSSLHatası
WEAVE_ERROR TranslateOpenSSLError( WEAVE_ERROR defaultErr )
Paket Servisi Süresini Aç
NL_DLL_EXPORT WEAVE_ERROR UnpackCertTime( uint32_t packedTime, ASN1UniversalTime & time )
Paketlenmiş bir sertifikanın tarihini/saatini ASN.1 evrensel saat yapısına ekleyin.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
Döndürülen Değerler |
|
DoğrulamaWeaveSignature
NL_DLL_EXPORT WEAVE_ERROR VerifyWeaveSignature( const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *sig, uint16_t sigLen, WeaveCertificateSet & certSet, ValidationContext & certValidContext )
DoğrulamaWeaveSignature
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 )