Module: OPP::Subject
- Defined in:
- lib/opp/subject.rb
Constant Summary collapse
- PREFIX =
"key:sha256:"
Class Method Summary collapse
Class Method Details
.derive(public_key) ⇒ Object
9 10 11 |
# File 'lib/opp/subject.rb', line 9 def derive(public_key) PREFIX + Base64URL.encode(Digest::SHA256.digest(PublicKey.decode(public_key))) end |
.verify!(subject, public_key:) ⇒ Object
13 14 15 16 17 |
# File 'lib/opp/subject.rb', line 13 def verify!(subject, public_key:) return true if subject.is_a?(String) && secure_equal(subject, derive(public_key)) raise SubjectMismatchError, "subject does not match public key" end |