nl:: Weave:: Profiles:: Security
Bu ad alanı, Weave Security profili için Weave'deki tüm arayüzleri içerir.
Özet
Numaralandırmalar |
|
---|---|
@235
|
enum X.509 Sertifika Anahtarı Amaç İşaretleri. |
@236
|
enum X.509 Sertifika Anahtarı Kullanımı İşaretleri. |
@237
|
enum Sertifika Bayrakları Örgüsü. |
@238
|
enum Sertifika Kodu Çözme İşaretleri Örgüsü. |
@239
|
enum Örgü Sertifika İşaretleri Doğrulama. |
@240
|
enum |
@280
|
enum |
@281
|
enum |
@282
|
enum |
@283
|
enum |
@284
|
enum |
@285
|
enum |
@286
|
enum |
@287
|
enum |
@288
|
enum |
@289
|
enum |
Typedef'ler |
|
---|---|
GenerateECDSASignatureFunct)(const uint8_t *hash, uint8_t hashLen, EncodedECDSASignature &ecdsaSig)
|
typedef 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ü belirleme.
|
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)
|
Bir 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 Access Token'ı okur ve özel anahtarı çıkarır.
|
ExtractPrivateKeyFromAccessToken(TLVReader & reader, TLVWriter & writer)
|
Weave Access Token'ı 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)
|
Erişim jetonundaki sertifikaları bir Weave sertifika kümesine yükleyin.
|
LoadAccessTokenCerts(TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert)
|
Erişim jetonundaki sertifikaları bir Weave sertifika kümesine 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 bilgisi grubu için bir doğrulama karması (base-64 biçiminde) oluşturur.
|
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
Sertifika tarihini/saatini (ASN.1 evrensel zaman 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 sertifika tarihini, değerin saat kısmının 00:00:00 olarak ayarlandığı, karşılık gelen bir paketlenmiş sertifika tarihine/saatine dönüştürün.
|
PackedCertTimeToDate(uint32_t packedTime)
|
NL_DLL_EXPORT uint16_t
Paketlenmiş bir sertifikanın tarihini/saatini paketlenmiş bir sertifika tarihine dönüştürün.
|
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
01.01.1970 00:00:00 UTC'den itibaren geçen saniye sayısını paketlenmiş bir sertifika tarihi/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 tarih/saatini ASN.1 evrensel zaman yapısına açın.
|
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 Weaveİmza oluşturur. |
nl:: |
WeaveSignatures oluşturmak için genel işlevler sunar. |
Ad alanları |
|
---|---|
nl:: |
Bu ad alanı, Weave güvenlik profilindeki Weave uygulama anahtarları kitaplığı için Weave'deki tüm arayüzleri içerir. |
nl:: |
Bu ad alanı, Weave güvenlik profilindeki Certificate Authenticated Session sayfalar (CASE) protokolü için Weave'deki tüm arayüzleri içerir. |
nl:: |
Bu ad alanı, Weave güvenlik profilindeki Weave Certificate Temel Hazırlık protokolü için Weave'deki 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 Password Authenticated Session sayfalar (PASE) protokolü için Weave'deki tüm arayüzleri içerir. |
nl:: |
Bu ad alanı, Weave güvenlik profilindeki Weave şifre kodu kitaplığı için Weave'deki tüm arayüzleri içerir. |
nl:: |
Bu ad alanı, Weave Security profilindeki Token Credentiald Key Exchange (Jeton Kimlik Doğrulaması Yapılmış Anahtar Değişimi (TAKE) protokolü için Weave'deki tüm arayüzleri içerir. |
Numaralandırmalar
@235
@235
X.509 Sertifika Anahtarı Amaç İşaretleri.
@236
@236
X.509 Sertifika Anahtarı Kullanımı İşaretleri.
@237
@237
Sertifika Bayrakları Örgüsü.
Bir WeaveCertSet nesnesine yüklenmiş olan sertifika hakkında bilgi içerir.
@238
@238
Sertifika Kodu Çözme İşaretleri Örgüsü.
Bir sertifikanın kodunun nasıl çözülmesi gerektiğini belirten bilgileri içerir.
@239
@239
Örgü Sertifika İşaretleri Doğrulama.
Bir sertifikanın nasıl doğrulanması gerektiğini 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
Typedef'ler
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.
Çağrıldığında, uygulamaların belirli bir karma değeri üzerinde düğümün özel anahtarını kullanarak bir imza hesaplaması gerekir.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Değerleri Döndür |
|
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 )
Bir Weave Erişim Jetonu'nu okur ve erişim jetonundan gelen sertifikaları içeren bir CASE Sertifika Bilgisi TLV yapısı oluşturur.
Bu işlev, belirli bir Weave erişim jetonunun kodunu çözer ve Örgü CASE Sertifika Bilgisi yapısı için TLV'yi kodlar. CertificateInfo yapısındaki EntityCertificate alanı erişim jetonu sertifikasına, RelatedCertificates alanı (varsa) ise erişim jetonu içindeki ilgili alana ayarlanır.
Ayrıntılar | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||
Değerleri Döndür |
|
CASECertInfoFromAccessToken
WEAVE_ERROR CASECertInfoFromAccessToken( TLVReader & reader, TLVWriter & writer )
Bir Weave Erişim Jetonu'nu okur ve erişim jetonundaki sertifikaları içeren bir CASE Sertifika Bilgisi TLV yapısı yazar.
Bu işlev, belirli bir TLVReader'dan Weave Erişim Jetonu'nu okur ve bir Weave CASE Sertifika Bilgisi yapısı için TLV'yi TLVWriter'a yazar. CertificateInfo yapısındaki EntityCertificate alanı erişim jetonu sertifikasına, RelatedCertificates alanı (varsa) ise erişim jetonu içindeki ilgili alana ayarlanır.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Değerleri Döndür |
|
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 )
Weave sertifikasının genel türünü belirleme.
Bu işlev, bir sertifikanın konu DN'sinin yapısına ve mevcut uzantılara göre sertifika türünün genel bir değerlendirmesini yapar. Uygulamalar, cert.CertType'ı 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, yalnızca güvenilir bir kök sertifikaya bağlı olması durumunda bir eşin sertifikasına güvenir. Ancak bir sertifikaya atanan tür, bu güvenin doğasını etkileyebilir (ör. belirli özelliklere erişim izni verebilir veya vermeyebilir. Bu nedenle, bu algoritmada yapılan değişikliklerin genel sistem güvenliği üzerinde ÇOK BAŞARILI ve POTANSİYEL KATASTROPHİK etkileri olabilir ve bu değişikliklerin etkileri tam olarak anlaşılmadan 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'ı 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 )
ExtractCertFromAccessToken
WEAVE_ERROR ExtractCertFromAccessToken( TLVReader & reader, TLVWriter & writer, uint64_t tag )
Bir Weave Erişim Jetonu'nu okur ve Erişim Jetonu Sertifikasını çıkarır.
Bu işlev, bir TLVReader'dan Weave Erişim Jetonu'nu okur ve Erişim Jetonu Sertifikasını belirtilen bir TLVWriter'a yazar.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Değerleri Döndür |
|
ExtractPrivateKeyFromAccessToken
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( const uint8_t *accessToken, uint32_t accessTokenLen, uint8_t *privKeyBuf, uint16_t privKeyBufSize, uint16_t & privKeyLen )
Weave Access Token'ı okur ve özel anahtarı çıkarır.
Bu işlev, belirli bir Weave erişim jetonunun kodunu çözer ve jetondan özel anahtar alanını çıkarır.
Ayrıntılar | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||
Değerleri Döndür |
|
ExtractPrivateKeyFromAccessToken
WEAVE_ERROR ExtractPrivateKeyFromAccessToken( TLVReader & reader, TLVWriter & writer )
Weave Access Token'ı okur ve özel anahtarı çıkarır.
Bu işlev, belirli bir Weave erişim jetonunun kodunu çözer ve jetondan özel anahtar alanını çıkarır.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Değerleri Döndür |
|
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.
Belirli bir özel anahtar ve ileti karmasını kullanarak bir ECDSA imzası hesaplar ve belirtilen etiketle belirtilen TLV yazıcısına Weave ECDSASignature yapısı olarak imzayı yazar.
Ayrıntılar | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||||
Değerleri Döndür |
|
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 |
|
||||||||||||
Değerleri Döndür |
|
GetWeaveSignatureAlgo
WEAVE_ERROR GetWeaveSignatureAlgo( const uint8_t *sig, uint16_t sigLen, OID & sigAlgoOID )
Girinti ekle
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 )
Erişim jetonundaki sertifikaları bir Weave sertifika kümesine yükleyin.
Bu işlev, belirli bir Weave erişim jetonunun kodunu çözer ve erişim jetonu sertifikalarını belirtilen Weave sertifikası kümesi nesnesine yükler. Erişim jetonları bir veya daha fazla ilgili sertifika içeriyorsa bunlar da sertifika kümesine yüklenir.
Ayrıntılar | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||
Değerleri Döndür |
|
LoadAccessTokenCerts
WEAVE_ERROR LoadAccessTokenCerts( TLVReader & reader, WeaveCertificateSet & certSet, uint16_t decodeFlags, WeaveCertificateData *& accessTokenCert )
Erişim jetonundaki sertifikaları bir Weave sertifika kümesine yükleyin.
Bu işlev, belirli bir TLVReader'dan Weave erişim jetonunu okur ve erişim jetonu sertifikalarını, belirtilen Weave sertifika kümesi nesnesine yükler. Erişim jetonları bir veya daha fazla ilgili sertifika içeriyorsa bunlar da sertifika kümesine yüklenir.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Değerleri Döndür |
|
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 )
Belirli bir termostat cihaz kimlik bilgisi grubu için bir doğrulama karması (base-64 biçiminde) oluşturur.
Ayrıntılar | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||||||||
Değerleri Döndür |
|
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 )
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 |
|
||||||||||||||||||
Değerleri Döndür |
|
OIDToWeaveCurveId
uint32_t OIDToWeaveCurveId( ASN1::OID curveOID )
PackCertTime
NL_DLL_EXPORT WEAVE_ERROR PackCertTime( const ASN1UniversalTime & time, uint32_t & packedTime )
Sertifika tarihini/saatini (ASN.1 evrensel zaman yapısı biçiminde) paketlenmiş bir sertifika tarihine/saatine dönüştürün.
Paketlenmiş sertifika tarih/saatleri, bir sertifikadaki zaman değerlerinin (notBefore ve notAfter) için tam takvim hesaplamasını gerektirmeyen kompakt bir gösterimini sağlar.
Paketlenmiş bir sertifika tarihi/saati, bir takvim tarihi/saati alanlarını içerir. yıl, ay, gün, saat, dakika, ikincisi, işaretsiz bir tam sayı biçiminde gösterilir. Bit gösterimi, paketlenmiş tarih/saat değerlerinin sıralı karşılaştırmaları, karşılık gelen zamanların doğal sıralamasına karşılık gelecek şekilde düzenlenmiştir. Boyutlarını küçültmek için, paketlenmiş sertifika tarihleri/saatleri, 01.01.2000 00:00:00 veya sonrasında olan zamanları temsil edecek şekilde sınırlandırılmıştır. 32 bitlik imzalanmamış bir tam sayı içinde barındırıldığında, paketlenmiş sertifika tarihleri/saatleri 2133 yılına kadar olan zamanları temsil edebilir.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
Değerleri Döndür |
|
PackedCertDateToTime
NL_DLL_EXPORT uint32_t PackedCertDateToTime( uint16_t packedDate )
Paketlenmiş bir sertifika tarihini, değerin saat kısmının 00:00:00 olarak ayarlandığı, karşılık gelen bir paketlenmiş sertifika tarihine/saatine dönüştürün.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
İlgili paket sertifikası tarihi/saati.
|
PackedCertTimeToDate
NL_DLL_EXPORT uint16_t PackedCertTimeToDate( uint32_t packedTime )
Paketlenmiş bir sertifikanın tarihini/saatini paketlenmiş bir sertifika tarihine dönüştürün.
Paketlenmiş bir sertifika tarihi, imzasız bir tam sayı içinde paketlenmiş bir takvim tarihyıl, ay, gün alanlarını içerir. Bitler, paketlenmiş tarih değerlerinin sıralı karşılaştırmaları, karşılık gelen 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 veya sonrası tarihleri temsil edecek şekilde sınırlandırılmıştır. 16 bitlik imzalanmamış bir tam sayı içinde barındırıldığında, paketlenmiş 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 )
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 )
01.01.1970 00:00:00 UTC'den itibaren geçen saniye sayısını paketlenmiş bir sertifika tarihi/saatine dönüştürün.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
İlgili paket sertifikası tarihi/saati.
|
TranslateOpenSSLError
WEAVE_ERROR TranslateOpenSSLError( WEAVE_ERROR defaultErr )
UnpackCertTime
NL_DLL_EXPORT WEAVE_ERROR UnpackCertTime( uint32_t packedTime, ASN1UniversalTime & time )
Paketlenmiş bir sertifikanın tarih/saatini ASN.1 evrensel zaman yapısına açın.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
Değerleri Döndür |
|
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 )