Module: Linzer
- Extended by:
- Helper, Key::Helper
- Defined in:
- lib/linzer.rb,
lib/linzer/jws.rb,
lib/linzer/key.rb,
lib/linzer/rsa.rb,
lib/linzer/hmac.rb,
lib/linzer/http.rb,
lib/linzer/ecdsa.rb,
lib/linzer/common.rb,
lib/linzer/helper.rb,
lib/linzer/signer.rb,
lib/linzer/ed25519.rb,
lib/linzer/message.rb,
lib/linzer/options.rb,
lib/linzer/rsa_pss.rb,
lib/linzer/version.rb,
lib/linzer/verifier.rb,
lib/linzer/signature.rb,
lib/linzer/key/helper.rb,
lib/linzer/message/field.rb,
lib/linzer/http/bootstrap.rb,
lib/linzer/message/adapter.rb,
lib/linzer/message/wrapper.rb,
lib/linzer/message/field/parser.rb,
lib/linzer/http/signature_feature.rb,
lib/linzer/message/adapter/abstract.rb,
lib/linzer/message/adapter/rack/common.rb,
lib/linzer/message/adapter/rack/request.rb,
lib/linzer/message/adapter/rack/response.rb,
lib/linzer/message/adapter/generic/request.rb,
lib/linzer/message/adapter/generic/response.rb,
lib/linzer/message/adapter/http_gem/request.rb,
lib/linzer/message/adapter/net_http/request.rb,
lib/linzer/message/adapter/http_gem/response.rb,
lib/linzer/message/adapter/net_http/response.rb
Overview
Linzer is a Ruby library for HTTP Message Signatures as defined in RFC 9421.
It provides functionality to sign and verify HTTP messages using various cryptographic algorithms including RSA-PSS, HMAC-SHA256, ECDSA, and Ed25519.
Defined Under Namespace
Modules: Common, ECDSA, Ed25519, HMAC, HTTP, Helper, JWS, Options, RSA, RSAPSS, Signer, Verifier Classes: Error, Key, Message, Signature, SigningError, VerifyError
Constant Summary collapse
- FieldId =
Alias for Message::Field::Identifier for convenient access. Used for serializing and deserializing component identifiers.
Message::Field::Identifier
- VERSION =
Current version of the Linzer gem.
"0.7.8"
Class Method Summary collapse
-
.sign(key, message, components, options = {}) ⇒ Linzer::Signature
Signs an HTTP message.
-
.signature_base(message, components, parameters) ⇒ String
Computes the signature base string for an HTTP message.
-
.verify(pubkey, message, signature, no_older_than: nil) ⇒ true
Verifies an HTTP message signature.
Methods included from Helper
Methods included from Key::Helper
generate_ecdsa_p256_sha256_key, generate_ecdsa_p384_sha384_key, generate_ed25519_key, generate_hmac_sha256_key, generate_jws_key, generate_rsa_pss_sha512_key, generate_rsa_v1_5_sha256_key, jwk_import, new_ecdsa_p256_sha256_key, new_ecdsa_p384_sha384_key, new_ed25519_key, new_ed25519_public_key, new_hmac_sha256_key, new_rsa_pss_sha512_key, new_rsa_pss_sha512_public_key, new_rsa_v1_5_sha256_key, new_rsa_v1_5_sha256_public_key
Class Method Details
.sign(key, message, components, options = {}) ⇒ Linzer::Signature
Signs an HTTP message.
135 136 137 |
# File 'lib/linzer.rb', line 135 def sign(key, , components, = {}) Linzer::Signer.sign(key, , components, ) end |
.signature_base(message, components, parameters) ⇒ String
Computes the signature base string for an HTTP message.
The signature base is the canonical string representation that gets signed. This method is primarily useful for debugging or implementing custom signing logic.
152 153 154 |
# File 'lib/linzer.rb', line 152 def signature_base(, components, parameters) Linzer::Common.signature_base(, components, parameters) end |
.verify(pubkey, message, signature, no_older_than: nil) ⇒ true
Verifies an HTTP message signature.
102 103 104 |
# File 'lib/linzer.rb', line 102 def verify(pubkey, , signature, no_older_than: nil) Linzer::Verifier.verify(pubkey, , signature, no_older_than: no_older_than) end |