BLUIBeaconEncryptionSettings Class Reference

Inherits from NSObject
Declared in BLUIBeaconEncryptionSettings.h

Overview

BLUIBeaconEncryptionSettings objects represent the iBeacon encryption settings of a beacon configuration.

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

General properties

  rotationMode

The beacon’s desired rotation mode. For security reasons this value can not be read back from the beacon after it was written to it.

@property (nonatomic, assign) BLUIBeaconRotationMode rotationMode

Discussion

The beacon’s desired rotation mode. For security reasons this value can not be read back from the beacon after it was written to it.

Declared In

BLUIBeaconEncryptionSettings.h

  enabled

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

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

Discussion

A boolean specifying whether iBeacon rotation 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

BLUIBeaconEncryptionSettings.h

List rotation properties

  rotationList

A dictionary of two NSArrays containing the beacon’s major and minor rotation values. The contained arrays must both have the same count and contain numbers within a valid range for iBeacon major and minor values.

@property (nonatomic, copy, nullable) NSDictionary *rotationList

Discussion

A dictionary of two NSArrays containing the beacon’s major and minor rotation values. The contained arrays must both have the same count and contain numbers within a valid range for iBeacon major and minor values.

Declared In

BLUIBeaconEncryptionSettings.h

Key encryption properties

  rotationKey

A 128bit key represented by NSData and used to encrypt and rotate a beacon’s rotation identifier.

@property (nonatomic, copy, nullable) NSData *rotationKey

Discussion

A 128bit key represented by NSData and used to encrypt and rotate a beacon’s rotation identifier.

This key is only available for user generated sBeacon encryption settings and if the settings have been setup to use the BLUIBeaconRotationModeKeyEncryption rotation mode. For security reasons this key can not be read back from the beacon once it was written to it.

Declared In

BLUIBeaconEncryptionSettings.h

  rotationIdentifier

A number representing the beacon’s rotation identifier.

@property (nonatomic, copy, nullable) NSNumber *rotationIdentifier

Discussion

A number representing the beacon’s rotation identifier.

This value is only available for user generated sBeacon encryption settings and if the settings have been setup to use the BLUIBeaconRotationModeKeyEncryption rotation mode. For security reasons this value can not be read back from the beacon once it was written to it.

Declared In

BLUIBeaconEncryptionSettings.h

  rotationIdentifierBitLength

A number representing the beacon’s rotation identifier length in bits.

@property (nonatomic, copy, nullable) NSNumber *rotationIdentifierBitLength

Discussion

A number representing the beacon’s rotation identifier length in bits.

This value is only available for user generated sBeacon encryption settings and if the settings have been setup to use the BLUIBeaconRotationModeKeyEncryption rotation mode. For security reasons this value can not be read back from the beacon once it was written to it.

Declared In

BLUIBeaconEncryptionSettings.h

Initialization

+ defaultSettings

Initializes a BLUIBeaconEncryptionSettings 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 iBeacon encryption settings instance with default values.

Discussion

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

The default settings are set to BLUIBeaconRotationModeKeyEncryption mode with a 24 bit rotation identifier set to 0xABCDEF and the default rotation key.

Declared In

BLUIBeaconEncryptionSettings.h

+ disabledSettings

Initializes a BLUIBeaconEncryptionSettings instance with values that will disable iBeacon rotation. These settings can be added as part of a scheduled beacon configuration’s BLUBeaconEncryptionSettings.

+ (instancetype)disabledSettings

Return Value

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

Discussion

Initializes a BLUIBeaconEncryptionSettings instance with values that will disable iBeacon rotation. These settings can be added as part of a scheduled beacon configuration’s BLUBeaconEncryptionSettings.

The disabled settings will deactivate iBeacon rotation when written to a beacon.

Declared In

BLUIBeaconEncryptionSettings.h

+ encryptionSettingsWithMajorRotationStartValue:minorRotationStartValue:increment:rotationCount:

Initializes a BLUIBeaconEncryptionSettings instance with a rotation list constructed by incrementing the specified major and minor start values. These settings can be added as part of a scheduled beacon configuration’s BLUBeaconEncryptionSettings.

+ (instancetype)encryptionSettingsWithMajorRotationStartValue:(NSNumber *)majorStart minorRotationStartValue:(NSNumber *)minorStart increment:(NSNumber *)majorMinorIncrement rotationCount:(NSNumber *)rotationCount

Parameters

majorStart

The iBeacon rotation list’s major start value.

minorStart

The iBeacon rotation list’s minor start value.

majorMinorIncrement

The major and minor values in the rotation list will be incremented by this value.

rotationCount

The total count of major and minor values the beacon’s rotation list will contain.

Return Value

Returns a newly initialized iBeacon encryption settings instance using the BLUIBeaconRotationModeList rotation mode with a rotation list constructed by incrementing the specified major and minor start values.

Discussion

Initializes a BLUIBeaconEncryptionSettings instance with a rotation list constructed by incrementing the specified major and minor start values. These settings can be added as part of a scheduled beacon configuration’s BLUBeaconEncryptionSettings.

Declared In

BLUIBeaconEncryptionSettings.h

+ encryptionSettingsWithRotationIdentifier:rotationIdentifierBitLength:rotationKey:

Initializes a BLUIBeaconEncryptionSettings instance for iBeacon key encryption with the specified rotation identifier and key. These settings can be added as part of a scheduled beacon configuration’s BLUBeaconEncryptionSettings.

+ (instancetype)encryptionSettingsWithRotationIdentifier:(NSNumber *)rotationIdentifier rotationIdentifierBitLength:(NSNumber *)rotationIdentifierBitLength rotationKey:(NSData *)rotationKey

Parameters

rotationIdentifier

The iBeacon’s rotation identifier with a maximum length of 32 bits.

rotationIdentifierBitLength

The length of the iBeacon’s rotation identifier in bits with a maximum value of 32.

rotationKey

The 128bit key used to encrypt the iBeacon’s rotation identifier.

Return Value

Returns a newly initialized iBeacon encryption settings instance using the BLUIBeaconRotationModeKeyEncryption rotation mode with the specified rotation identifier and key.

Discussion

Initializes a BLUIBeaconEncryptionSettings instance for iBeacon key encryption with the specified rotation identifier and key. These settings can be added as part of a scheduled beacon configuration’s BLUBeaconEncryptionSettings.

Declared In

BLUIBeaconEncryptionSettings.h

Key generation

+ defaultKeyForIBeaconRotation

Returns a default 128bit encryption key that can be used to setup BLUIBeaconEncryptionSettings with the BLUIBeaconRotationModeKeyEncryption rotation mode.

+ (NSData *)defaultKeyForIBeaconRotation

Return Value

NSData containing a 128bit rotation identifier encryption key.

Discussion

Returns a default 128bit encryption key that can be used to setup BLUIBeaconEncryptionSettings with the BLUIBeaconRotationModeKeyEncryption rotation mode.

Declared In

BLUIBeaconEncryptionSettings.h

+ randomKeyForIBeaconRotation

Creates and returns a 128bit encryption key that can be used to setup BLUIBeaconEncryptionSettings with the BLUIBeaconRotationModeKeyEncryption rotation mode. The created key will be random each time this method is called. Please do always keep a reference to your created keys.

+ (NSData *)randomKeyForIBeaconRotation

Return Value

NSData containing a random 128bit rotation identifier encryption key.

Discussion

Creates and returns a 128bit encryption key that can be used to setup BLUIBeaconEncryptionSettings with the BLUIBeaconRotationModeKeyEncryption rotation mode. The created key will be random each time this method is called. Please do always keep a reference to your created keys.

Declared In

BLUIBeaconEncryptionSettings.h