ectomobile/app/models/reading.rb

24 lines
501 B
Ruby
Raw Permalink Normal View History

2021-12-06 23:00:04 +00:00
# frozen_string_literal: true
class Reading < ApplicationRecord
2021-12-06 23:00:04 +00:00
belongs_to :raspberry
2022-06-11 17:48:31 +00:00
has_many :sensors
2022-03-12 22:10:33 +00:00
# @param :public_key [SSHData::PublicKey]
def verify(public_key)
public_key == ssh_signature.public_key && ssh_signature.verify(raw_transaction)
2022-03-12 22:10:33 +00:00
rescue SSHData::Error
false
end
private
def ssh_signature
@ssh_signature ||= SSHData::Signature.parse_pem <<~PEM
-----BEGIN SSH SIGNATURE-----
#{signature}
-----END SSH SIGNATURE-----
PEM
end
2021-12-06 23:00:04 +00:00
end