class AndroidKeyAttestation::AuthorizationList
Constants
- ACTIVE_DATE_TIME_TAG
- ALGORITHM_TAG
- ALLOW_WHILE_ON_BODY_TAG
- ALL_APPLICATIONS_TAG
- APPLICATION_ID_TAG
- ATTESTATION_APPLICATION_ID_TAG
- ATTESTATION_ID_BRAND_TAG
- ATTESTATION_ID_DEVICE_TAG
- ATTESTATION_ID_IMEI_TAG
- ATTESTATION_ID_MANUFACTURER_TAG
- ATTESTATION_ID_MEID_TAG
- ATTESTATION_ID_MODEL_TAG
- ATTESTATION_ID_PRODUCT_TAG
- ATTESTATION_ID_SERIAL_TAG
- AUTH_TIMEOUT_TAG
- BOOT_PATCH_LEVEL_TAG
- CREATION_DATE_TIME_TAG
- DIGEST_TAG
- EC_CURVE_TAG
- KEY_SIZE_TAG
- NO_AUTH_REQUIRED_TAG
- ORIGINATION_EXPIRE_DATE_TIME_TAG
- ORIGIN_ENUM
- ORIGIN_TAG
- OS_PATCH_LEVEL_TAG
- OS_VERSION_TAG
- PADDING_TAG
- PURPOSE_ENUM
- PURPOSE_TAG
source.android.com/security/keystore/attestation#attestation-extension
- ROLLBACK_RESISTANCE_TAG
- ROOT_OF_TRUST_TAG
- RSA_PUBLIC_EXPONENT_TAG
- TRUSTED_CONFIRMATION_REQUIRED_TAG
- TRUSTED_USER_PRESENCE_REQUIRED_TAG
- UNLOCK_DEVICE_REQUIRED_TAG
- USAGE_EXPIRE_DATE_TIME_TAG
- USER_AUTH_TYPE_TAG
- VENDOR_PATCH_LEVEL_TAG
Attributes
sequence[R]
Public Class Methods
new(sequence)
click to toggle source
# File lib/android_key_attestation/authorization_list.rb, line 59 def initialize(sequence) @sequence = sequence end
Public Instance Methods
all_applications()
click to toggle source
# File lib/android_key_attestation/authorization_list.rb, line 68 def all_applications find_boolean(ALL_APPLICATIONS_TAG) end
creation_date()
click to toggle source
# File lib/android_key_attestation/authorization_list.rb, line 72 def creation_date find_time_milliseconds(CREATION_DATE_TIME_TAG) end
find_by_tag(tag)
click to toggle source
# File lib/android_key_attestation/authorization_list.rb, line 81 def find_by_tag(tag) sequence.detect { |data| data.tag == tag } end
origin()
click to toggle source
# File lib/android_key_attestation/authorization_list.rb, line 76 def origin integer = find_optional_integer(ORIGIN_TAG) ORIGIN_ENUM.fetch(integer) if integer end
purpose()
click to toggle source
# File lib/android_key_attestation/authorization_list.rb, line 63 def purpose integers = find_optional_integer_set(PURPOSE_TAG) integers&.map { |i| PURPOSE_ENUM.fetch(i) } end
Private Instance Methods
find_boolean(tag)
click to toggle source
# File lib/android_key_attestation/authorization_list.rb, line 98 def find_boolean(tag) find_by_tag(tag)&.value || false end
find_optional_integer(tag)
click to toggle source
# File lib/android_key_attestation/authorization_list.rb, line 94 def find_optional_integer(tag) find_by_tag(tag)&.value&.at(0)&.value&.to_i end
find_optional_integer_set(tag)
click to toggle source
# File lib/android_key_attestation/authorization_list.rb, line 89 def find_optional_integer_set(tag) value = find_by_tag(tag)&.value&.at(0)&.value value&.map { |asn1_int| asn1_int.value.to_i } end
find_time_milliseconds(tag)
click to toggle source
# File lib/android_key_attestation/authorization_list.rb, line 102 def find_time_milliseconds(tag) value = find_by_tag(tag)&.value&.at(0)&.value Time.at(value.to_i / 1000) if value end