PasscodeEncryptionSupport

public final class PasscodeEncryptionSupport extends Object

Metody narzędziowe do szyfrowania i odszyfrowywania kodu dostępu przy użyciu schematu szyfrowania kodu dostępu Nest.

Podsumowanie stałych

int kPasscodeEncryptionConfig1_TEST_ONLY Konfiguracja szyfrowania za pomocą kodu dostępu 1 (TYLKO DO TESTÓW) Uwaga: ta konfiguracja szyfrowania służy tylko do testów i nie zapewnia integralności ani poufności.
int kPasscodeEncryptionConfig2 Konfiguracja szyfrowania kodu dostępu 2

Podsumowanie pola

public static final byte[] kPasscodeEncKeyDiversifier Dywersyfikator klucza używany do wyprowadzania kluczy szyfrowania i uwierzytelniania kodu dostępu.
public static final byte[] kPasscodeFingerprintKeyDiversifier Klucz różnicujący używany do wyprowadzania klucza odcisku palca kodu dostępu.

Podsumowanie konstruktora publicznego

Podsumowanie metod publicznych

static String
decryptPasscode(byte[] encryptedPasscode, byte[] encKey, byte[] authKey, byte[] fingerprintKey)
Odszyfrowuje kod dostępu zaszyfrowany za pomocą schematu szyfrowania kodu dostępu Nest.
static byte[]
encryptPasscode(int config, int keyId, long nonce, String passcode, byte[] encKey, byte[] authKey, byte[] fingerprintKey)
Szyfrowanie kodu dostępu przy użyciu schematu szyfrowania kodu dostępu Nest.
static int
getEncryptedPasscodeConfig(byte[] encryptedPasscode)
Wyodrębnij typ konfiguracji z zaszyfrowanego kodu dostępu.
static byte[]
getEncryptedPasscodeFingerprint(byte[] encryptedPasscode)
Wyodrębnij odcisk palca z zaszyfrowanego hasła.
static int
getEncryptedPasscodeKeyId(byte[] encryptedPasscode)
Wyodrębnij identyfikator klucza z zaszyfrowanego hasła.
statyczne długie
getEncryptedPasscodeNonce(byte[] encryptedPasscode)
Wyodrębnij wartość nonce z zaszyfrowanego kodu dostępu.
static boolean
isSupportedPasscodeEncryptionConfig(int config)
Określa, czy podana konfiguracja szyfrowania kodu jest obsługiwana.

Podsumowanie dziedziczonej metody

Stałe

public static final int kPasscodeEncryptionConfig1_TEST_ONLY

Konfiguracja szyfrowania hasłem 1 (TYLKO DO TESTÓW) Uwaga: ta konfiguracja szyfrowania jest przeznaczona tylko do testów i nie zapewnia integralności ani poufności. Konfiguracja 1 jest dostępna tylko w wersjach deweloperskich.

Wartość stała: 1

public static final int kPasscodeEncryptionConfig2

Konfiguracja szyfrowania kodu dostępu 2

Stała wartość: 2

Pola

public static final byte[] kPasscodeEncKeyDiversifier

Element różnicujący klucz używany do wyprowadzania kluczy szyfrowania i uwierzytelniania kodu dostępu.

public static final byte[] kPasscodeFingerprintKeyDiversifier

Klucz różnicujący używany do wyprowadzania klucza odcisku palca kodu dostępu.

Public Constructors

public PasscodeEncryptionSupport ()

Metody publiczne

public static String decryptPasscode (byte[] encryptedPasscode, byte[] encKey, byte[] authKey, byte[] fingerprintKey)

Odszyfrowywanie kodu dostępu zaszyfrowanego przy użyciu schematu szyfrowania kodu dostępu Nest.

Parametry
encryptedPasscode
encKey
authKey
fingerprintKey

public static byte[] encryptPasscode (int config, int keyId, long nonce, String passcode, byte[] encKey, byte[] authKey, byte[] fingerprintKey)

Szyfrowanie kodu dostępu przy użyciu schematu szyfrowania kodu dostępu Nest.

Parametry
konfiguracja
keyId
liczba jednorazowa
hasło
encKey
authKey
fingerprintKey

public static int getEncryptedPasscodeConfig (byte[] encryptedPasscode)

Wyodrębnij typ konfiguracji z zaszyfrowanego kodu dostępu.

Parametry
encryptedPasscode

public static byte[] getEncryptedPasscodeFingerprint (byte[] encryptedPasscode)

Wyodrębnij odcisk palca z zaszyfrowanego hasła.

Parametry
encryptedPasscode

public static int getEncryptedPasscodeKeyId (byte[] encryptedPasscode)

Wyodrębnij identyfikator klucza z zaszyfrowanego hasła.

Parametry
encryptedPasscode

public static long getEncryptedPasscodeNonce (byte[] encryptedPasscode)

Wyodrębnij wartość nonce z zaszyfrowanego kodu dostępu.

Parametry
encryptedPasscode

public static boolean isSupportedPasscodeEncryptionConfig (int config)

Określa, czy podana konfiguracja szyfrowania kodu jest obsługiwana.

Parametry
konfiguracja