PasscodeEncryptionSupport

public final class PasscodeEncryptionSupport extends Object

Hilfsmethoden zum Verschlüsseln und Entschlüsseln von Sicherheitscodes mit dem Nest-Sicherheitscode-Verschlüsselungsschema.

Constant Summary

int kPasscodeEncryptionConfig1_TEST_ONLY Konfiguration 1 für die Verschlüsselung mit Sicherheitscode (NUR ZUM TESTEN) Hinweis: Diese Verschlüsselungskonfiguration dient nur zu Testzwecken und bietet keine Integrität oder Vertraulichkeit.
int kPasscodeEncryptionConfig2 Konfiguration für die Sicherheitscode-Verschlüsselung 2

Feldzusammenfassung

public static final byte[] kPasscodeEncKeyDiversifier Schlüssel-Diversifier, der bei der Ableitung der Schlüssel für die Verschlüsselung und Authentifizierung von Sicherheitscodes verwendet wird.
public static final byte[] kPasscodeFingerprintKeyDiversifier Schlüssel-Diversifier, der bei der Ableitung des Schlüssel-Fingerprints für den Sicherheitscode verwendet wird.

Public Constructor Summary

Public Method Summary

static String
decryptPasscode(byte[] encryptedPasscode, byte[] encKey, byte[] authKey, byte[] fingerprintKey)
Entschlüsseln Sie einen Sicherheitscode, der mit dem Nest-Sicherheitscode-Verschlüsselungsschema verschlüsselt wurde.
static byte[]
encryptPasscode(int config, int keyId, long nonce, String passcode, byte[] encKey, byte[] authKey, byte[] fingerprintKey)
Verschlüsseln Sie einen Sicherheitscode mit dem Nest-Sicherheitscode-Verschlüsselungsschema.
static int
getEncryptedPasscodeConfig(byte[] encryptedPasscode)
Konfigurationstyp aus einem verschlüsselten Sicherheitscode extrahieren
static byte[]
getEncryptedPasscodeFingerprint(byte[] encryptedPasscode)
Fingerabdruck aus einem verschlüsselten Sicherheitscode extrahieren
static int
getEncryptedPasscodeKeyId(byte[] encryptedPasscode)
Schlüssel-ID aus einem verschlüsselten Sicherheitscode extrahieren
static long
getEncryptedPasscodeNonce(byte[] encryptedPasscode)
Extrahieren Sie den Nonce-Wert aus einem verschlüsselten Sicherheitscode.
static boolean
isSupportedPasscodeEncryptionConfig(int config)
Ermittelt, ob die angegebene Konfiguration für die Verschlüsselung mit Sicherheitscode unterstützt wird.

Inherited Method Summary

Konstanten

public static final int kPasscodeEncryptionConfig1_TEST_ONLY

Konfiguration 1 für die Verschlüsselung mit Sicherheitscode (NUR ZUM TESTEN): Diese Verschlüsselungskonfiguration dient nur zu Testzwecken und bietet keine Integrität oder Vertraulichkeit. Konfiguration 1 ist nur in Entwickler-Builds verfügbar.

Constant Value:1

public static final int kPasscodeEncryptionConfig2

Konfiguration für die Sicherheitscode-Verschlüsselung 2

Constant Value: 2

Felder

public static final byte[] kPasscodeEncKeyDiversifier

Schlüssel-Diversifier, der bei der Ableitung der Schlüssel für die Verschlüsselung und Authentifizierung von Sicherheitscodes verwendet wird.

public static final byte[] kPasscodeFingerprintKeyDiversifier

Schlüssel-Diversifier, der bei der Ableitung des Sicherheitscode-Fingerabdruckschlüssels verwendet wird.

Public Constructors

public PasscodeEncryptionSupport ()

Public Methods

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

Entschlüsseln Sie einen Sicherheitscode, der mit dem Nest-Sicherheitscode-Verschlüsselungsschema verschlüsselt wurde.

Parameter
encryptedPasscode
encKey
authKey
fingerprintKey

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

Verschlüsseln Sie einen Sicherheitscode mit dem Nest-Sicherheitscode-Verschlüsselungsschema.

Parameter
config
keyId
Nonce
Sicherheitscode
encKey
authKey
fingerprintKey

public static int getEncryptedPasscodeConfig (byte[] encryptedPasscode)

Konfigurationstyp aus einem verschlüsselten Sicherheitscode extrahieren

Parameter
encryptedPasscode

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

Fingerabdruck aus einem verschlüsselten Sicherheitscode extrahieren

Parameter
encryptedPasscode

public static int getEncryptedPasscodeKeyId (byte[] encryptedPasscode)

Schlüssel-ID aus einem verschlüsselten Sicherheitscode extrahieren

Parameter
encryptedPasscode

public static long getEncryptedPasscodeNonce (byte[] encryptedPasscode)

Extrahieren Sie den Nonce-Wert aus einem verschlüsselten Sicherheitscode.

Parameter
encryptedPasscode

public static boolean isSupportedPasscodeEncryptionConfig (int config)

Ermittelt, ob die angegebene Konfiguration für die Verschlüsselung mit Sicherheitscode unterstützt wird.

Parameter
config