class IcAgent::Request
Public Class Methods
sign_request(req, iden)
click to toggle source
Signs a request with an identity's signature and encodes it using CBOR.
@param req [Hash] The request to be signed. @param iden [Identity] The identity used for signing. @return [Array] The request ID and the encoded signed request.
# File lib/ic_agent/agent.rb, line 13 def self.sign_request(req, iden) req_id = IcAgent::Utils.to_request_id(req) msg = IcAgent::IC_REQUEST_DOMAIN_SEPARATOR + req_id sig = iden.sign(msg) envelop = { 'content': req, 'sender_pubkey': sig[0], 'sender_sig': sig[1] } if iden.is_a?(DelegateIdentity) envelop.update({ 'sender_pubkey': iden.der_pubkey, 'sender_delegation': iden.delegations }) end [req_id, CBOR.encode(envelop)] end