Google is committed to advancing racial equity for Black communities. See how.

NLWeavePasscodeEncryptionSupport

#include <src/device-manager/cocoa/NLWeavePasscodeEncryptionSupport.h>

Wrapper for C++ implementation of pincode encryption/decryption functionality.

Summary

Inheritance

Inherits from: NSObject

Public static functions

decryptPasscode:config:encKey:authKey:fingerprintKey:error:(NSData *encPasscode, UInt8 config, NSData *encKey, NSData *authKey, NSData *fingerprintKey, NSError **errOut)
virtual nullable NSData *
Decrypt a passcode that was encrypted using the Nest Passcode Encryption scheme.
encryptPasscode:keyId:nonce:passcode:encKey:authKey:fingerprintKey:error:(UInt8 config, UInt32 keyId, UInt32 nonce, NSData *passcode, NSData *encKey, NSData *authKey, NSData *fingerprintKey, NSError **errOut)
virtual nullable NSData *
Encrypt a passcode using the Nest Passcode Encryption scheme.
getEncryptedPasscodeConfig:config:error:(NSData *encPasscode, UInt8 *configOut, NSError **errOut)
virtual BOOL
Extract the configuration type from an encrypted Passcode.
getEncryptedPasscodeFingerprint:error:(NSData *encPasscode, NSError **errOut)
virtual nullable NSData *
Extract the fingerprint from an encrypted Passcode.
getEncryptedPasscodeKeyId:keyId:error:(NSData *encPasscode, UInt32 *keyIdOut, NSError **errOut)
virtual BOOL
Extract the key id from an encrypted Passcode.
getEncryptedPasscodeNonce:nonce:error:(NSData *encPasscode, UInt32 *nonceOut, NSError **errOut)
virtual BOOL
Extract the nonce value from an encrypted Passcode.
isSupportedPasscodeEncryptionConfig:(UInt8 config)
virtual BOOL
Determines if the specified Passcode encryption configuration is supported.

Public static functions

decryptPasscode:config:encKey:authKey:fingerprintKey:error:

virtual nullable NSData * decryptPasscode:config:encKey:authKey:fingerprintKey:error:(
  NSData *encPasscode,
  UInt8 config,
  NSData *encKey,
  NSData *authKey,
  NSData *fingerprintKey,
  NSError **errOut
)

Decrypt a passcode that was encrypted using the Nest Passcode Encryption scheme.

encryptPasscode:keyId:nonce:passcode:encKey:authKey:fingerprintKey:error:

virtual nullable NSData * encryptPasscode:keyId:nonce:passcode:encKey:authKey:fingerprintKey:error:(
  UInt8 config,
  UInt32 keyId,
  UInt32 nonce,
  NSData *passcode,
  NSData *encKey,
  NSData *authKey,
  NSData *fingerprintKey,
  NSError **errOut
)

Encrypt a passcode using the Nest Passcode Encryption scheme.

getEncryptedPasscodeConfig:config:error:

virtual BOOL getEncryptedPasscodeConfig:config:error:(
  NSData *encPasscode,
  UInt8 *configOut,
  NSError **errOut
)

Extract the configuration type from an encrypted Passcode.

getEncryptedPasscodeFingerprint:error:

virtual nullable NSData * getEncryptedPasscodeFingerprint:error:(
  NSData *encPasscode,
  NSError **errOut
)

Extract the fingerprint from an encrypted Passcode.

getEncryptedPasscodeKeyId:keyId:error:

virtual BOOL getEncryptedPasscodeKeyId:keyId:error:(
  NSData *encPasscode,
  UInt32 *keyIdOut,
  NSError **errOut
)

Extract the key id from an encrypted Passcode.

getEncryptedPasscodeNonce:nonce:error:

virtual BOOL getEncryptedPasscodeNonce:nonce:error:(
  NSData *encPasscode,
  UInt32 *nonceOut,
  NSError **errOut
)

Extract the nonce value from an encrypted Passcode.

isSupportedPasscodeEncryptionConfig:

virtual BOOL isSupportedPasscodeEncryptionConfig:(
  UInt8 config
)

Determines if the specified Passcode encryption configuration is supported.