BLUSBeaconEncryptionSettings Class Reference

Inherits from NSObject
Conforms to NSCopying
NSSecureCoding
Declared in BLUSBeaconEncryptionSettings.h

Overview

BLUSBeaconEncryptionSettings objects represent the sBeacon encryption settings of a beacon configuration.

sBeacon encryption settings control the encryption of a beacon’s sBeacon advertisements.

General properties

  enabled

A boolean specifying whether sBeacon encryption will be enabled when these settings are written to a beacon.

@property (nonatomic, assign, getter=isEnabled) BOOL enabled

Discussion

A boolean specifying whether sBeacon encryption will be enabled when these settings are written to a beacon.

For security reasons this value can’t be read as part of its configuration.

Declared In

BLUSBeaconEncryptionSettings.h

Encryption key properties

  publicKey

The 512bit ECC secp256k1 public key used for encrypting the advertisement.

@property (nonatomic, copy) NSData *publicKey

Discussion

The 512bit ECC secp256k1 public key used for encrypting the advertisement.

For security reasons this value can’t be read as part of its configuration.

Declared In

BLUSBeaconEncryptionSettings.h

  rotationKey

The 128bit AES CFB key used to encrypt the beacon’s identifier. Is used internally to predict the next encryption cycle.

@property (nonatomic, copy) NSData *rotationKey

Discussion

The 128bit AES CFB key used to encrypt the beacon’s identifier. Is used internally to predict the next encryption cycle.

For security reasons this value can’t be read as part of its configuration.

Declared In

BLUSBeaconEncryptionSettings.h

  checksumKey

The 128bit AES CFB key used to encrypt the beacon’s advertisement checksum. Used to verify the decryption process.

@property (nonatomic, copy) NSData *checksumKey

Discussion

The 128bit AES CFB key used to encrypt the beacon’s advertisement checksum. Used to verify the decryption process.

For security reasons this value can’t be read as part of its configuration.

Declared In

BLUSBeaconEncryptionSettings.h

Initialization

+ defaultSettings

Initializes a BLUSBeaconEncryptionSettings instance with default values. These settings can be added as part of a scheduled beacon configuration’s BLUBeaconEncryptionSettings.

+ (instancetype)defaultSettings

Return Value

Returns a newly initialized sBeacon encryption settings instance with default values.

Discussion

Initializes a BLUSBeaconEncryptionSettings instance with default values. These settings can be added as part of a scheduled beacon configuration’s BLUBeaconEncryptionSettings.

The default settings are set with default encryption keys.

Declared In

BLUSBeaconEncryptionSettings.h

+ disabledSettings

Initializes a BLUSBeaconEncryptionSettings instance with values that will disable sBeacon encryption. These settings can be added as part of a scheduled beacon configuration’s BLUBeaconEncryptionSettings.

+ (instancetype)disabledSettings

Return Value

Returns a newly initialized sBeacon encryption settings instance with disabled values.

Discussion

Initializes a BLUSBeaconEncryptionSettings instance with values that will disable sBeacon encryption. These settings can be added as part of a scheduled beacon configuration’s BLUBeaconEncryptionSettings.

The disabled settings will deactivate sBeacon encryption when written to a beacon.

Declared In

BLUSBeaconEncryptionSettings.h

+ encryptionSettingsWithPublicKey:rotationKey:checksumKey:

Initializes a BLUSBeaconEncryptionSettings instance with the specified encryption keys. These settings can be added as part of a scheduled beacon configuration’s BLUBeaconEncryptionSettings.

+ (instancetype)encryptionSettingsWithPublicKey:(NSData *)publicKey rotationKey:(NSData *)rotationKey checksumKey:(NSData *)checksumKey

Parameters

publicKey

A 512bit ECC secp256k1 public key used for encrypting the advertisement.

rotationKey

A 128bit AES CFB key used to encrypt the beacon’s identifier. Is used internally to predict the next encryption cycle.

checksumKey

A 128bit AES CFB key used to encrypt the beacon’s advertisement checksum. Used to verify the decryption process.

Return Value

Returns a newly initialized sBeacon encryption settings instance with the specified encryption keys.

Discussion

Initializes a BLUSBeaconEncryptionSettings instance with the specified encryption keys. These settings can be added as part of a scheduled beacon configuration’s BLUBeaconEncryptionSettings.

Declared In

BLUSBeaconEncryptionSettings.h

Key generation

+ defaultKeysForSBeaconEncryption

Returns a key dictionary containing four default keys that can be used to setup sBeacon advertisement encryption on a beacon.

+ (NSDictionary *)defaultKeysForSBeaconEncryption

Return Value

A dictionary containing NSData objects representing sBeacon advertisement encryption keys.

Discussion

Returns a key dictionary containing four default keys that can be used to setup sBeacon advertisement encryption on a beacon.

You can use the BLUSBeaconEncryptionKeyDictionaryPublicKey, BLUSBeaconEncryptionKeyDictionaryPrivateKey, BLUSBeaconEncryptionKeyDictionaryRotationKey and BLUSBeaconEncryptionKeyDictionaryChecksumKey keys to retrieve the dictionary values.

Declared In

BLUSBeaconEncryptionSettings.h

+ randomKeysForSBeaconEncryption

Creates and returns a key dictionary containing all four keys required to setup sBeacon advertisement encryption on a beacon. The created keys will be random each time this method is called. Please do always keep a reference to your used keys.

+ (NSDictionary *)randomKeysForSBeaconEncryption

Return Value

A dictionary containing NSData objects representing sBeacon advertisement encryption keys.

Discussion

Creates and returns a key dictionary containing all four keys required to setup sBeacon advertisement encryption on a beacon. The created keys will be random each time this method is called. Please do always keep a reference to your used keys.

You can use the BLUSBeaconEncryptionKeyDictionaryPublicKey, BLUSBeaconEncryptionKeyDictionaryPrivateKey, BLUSBeaconEncryptionKeyDictionaryRotationKey and BLUSBeaconEncryptionKeyDictionaryChecksumKey keys to retrieve the dictionary values.

Declared In

BLUSBeaconEncryptionSettings.h