Method: AppleDEPClient::Token.decrypt_data

Defined in:
lib/apple_dep_client/token.rb

.decrypt_data(smime_data) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/apple_dep_client/token.rb', line 20

def self.decrypt_data(smime_data)
  data = create_temp_file("data", smime_data)
  private_key = create_temp_file("key", AppleDEPClient.private_key)
  command = "openssl smime -decrypt -in #{data.path} -inkey #{private_key.path} -text"
  decrypted_data, errors = run_command command
  remove_temp_file data
  remove_temp_file private_key
  if decrypted_data == "" || errors != ""
    raise AppleDEPClient::Error::TokenError, "Incorrect data #{errors}"
  end
  decrypted_data
end