Class: FastlaneCore::CertChecker
- Inherits:
-
Object
- Object
- FastlaneCore::CertChecker
- Defined in:
- lib/fastlane_core/cert_checker.rb
Overview
This class checks if a specific certificate is installed on the current mac
Class Method Summary collapse
- .installed?(path) ⇒ Boolean
-
.installed_identies ⇒ Object
rubocop:enable Style/PredicateName.
-
.is_installed?(path) ⇒ Boolean
Legacy Method, use ‘installed?` instead rubocop:disable Style/PredicateName.
- .sha1_fingerprint(path) ⇒ Object
Class Method Details
.installed?(path) ⇒ Boolean
4 5 6 7 8 9 10 11 |
# File 'lib/fastlane_core/cert_checker.rb', line 4 def self.installed?(path) raise "Could not find file '#{path}'".red unless File.exist?(path) ids = installed_identies finger_print = sha1_fingerprint(path) return ids.include? finger_print end |
.installed_identies ⇒ Object
rubocop:enable Style/PredicateName
20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/fastlane_core/cert_checker.rb', line 20 def self.installed_identies available = `security find-identity -v -p codesigning` ids = [] available.split("\n").each do |current| next if current.include? "REVOKED" begin (ids << current.match(/.*\) (.*) \".*/)[1]) rescue # the last line does not match end end return ids end |
.is_installed?(path) ⇒ Boolean
Legacy Method, use ‘installed?` instead rubocop:disable Style/PredicateName
15 16 17 |
# File 'lib/fastlane_core/cert_checker.rb', line 15 def self.is_installed?(path) installed?(path) end |
.sha1_fingerprint(path) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/fastlane_core/cert_checker.rb', line 35 def self.sha1_fingerprint(path) result = `openssl x509 -in "#{path}" -inform der -noout -sha1 -fingerprint` begin result = result.match(/SHA1 Fingerprint=(.*)/)[1] result.delete!(':') return result rescue Helper.log.info result raise "Error parsing certificate '#{path}'" end end |