Class: Gitlab::Ci::SecureFiles::MobileProvision
- Inherits:
-
Object
- Object
- Gitlab::Ci::SecureFiles::MobileProvision
- Includes:
- Utils::StrongMemoize
- Defined in:
- lib/gitlab/ci/secure_files/mobile_provision.rb
Instance Attribute Summary collapse
-
#error ⇒ Object
readonly
Returns the value of attribute error.
Instance Method Summary collapse
- #decoded_plist ⇒ Object
-
#initialize(filedata) ⇒ MobileProvision
constructor
A new instance of MobileProvision.
- #metadata ⇒ Object
- #properties ⇒ Object
Constructor Details
#initialize(filedata) ⇒ MobileProvision
Returns a new instance of MobileProvision.
12 13 14 |
# File 'lib/gitlab/ci/secure_files/mobile_provision.rb', line 12 def initialize(filedata) @filedata = filedata end |
Instance Attribute Details
#error ⇒ Object (readonly)
Returns the value of attribute error.
10 11 12 |
# File 'lib/gitlab/ci/secure_files/mobile_provision.rb', line 10 def error @error end |
Instance Method Details
#decoded_plist ⇒ Object
16 17 18 19 20 21 22 23 |
# File 'lib/gitlab/ci/secure_files/mobile_provision.rb', line 16 def decoded_plist p7 = OpenSSL::PKCS7.new(@filedata) p7.verify(nil, OpenSSL::X509::Store.new, nil, OpenSSL::PKCS7::NOVERIFY) p7.data rescue ArgumentError, OpenSSL::PKCS7::PKCS7Error => err @error = err.to_s nil end |
#metadata ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/gitlab/ci/secure_files/mobile_provision.rb', line 35 def return {} unless properties { id: id, expires_at: expires_at, platforms: properties["Platform"], team_name: properties['TeamName'], team_id: properties['TeamIdentifier'], app_name: properties['AppIDName'], app_id: properties['Name'], app_id_prefix: properties['ApplicationIdentifierPrefix'], xcode_managed: properties['IsXcodeManaged'], entitlements: properties['Entitlements'], devices: properties['ProvisionedDevices'], certificate_ids: certificate_ids } end |
#properties ⇒ Object
26 27 28 29 30 31 32 |
# File 'lib/gitlab/ci/secure_files/mobile_provision.rb', line 26 def properties list = CFPropertyList::List.new(data: decoded_plist, format: CFPropertyList::List::FORMAT_XML).value CFPropertyList.native_types(list) rescue CFFormatError, CFPlistError, CFTypeError => err @error = err.to_s nil end |