class Acme::Client::JWK::Base

def jws(header: {}, payload:)

Returns a JSON String.

payload - A Hash of payload data.
header - A Hash of extra header fields to include.

Generate a JWS JSON web signature.
def jws(header: {}, payload:)
  header = jws_header(header)
  encoded_header = Acme::Client::Util.urlsafe_base64(header.to_json)
  encoded_payload = Acme::Client::Util.urlsafe_base64(payload.nil? ? '' : payload.to_json)
  signature_data = "#{encoded_header}.#{encoded_payload}"
  signature = sign(signature_data)
  encoded_signature = Acme::Client::Util.urlsafe_base64(signature)
  {
    protected: encoded_header,
    payload: encoded_payload,
    signature: encoded_signature
  }.to_json
end