anchor.diff:                jws_signature/0,
                 jws_signing_input/0,
                 jwt/0,
  +              key/0,
                 kid/0,
                 pem_encoded_key/0,
                 posix_time/0
  
positive.code:                                   hdr = signing_header(KID)}).
  
  %%-------------------------------------------------------------------
  kid(<<Context/binary>>) ->
      kid(ctx_to_internal(Context));
  kid(#apns_jwt_ctx{kid=KID}) ->
      KID.
  
  %%-------------------------------------------------------------------
  iss(<<Context/binary>>) ->
      iss(ctx_to_internal(Context));
  iss(#apns_jwt_ctx{iss=Iss}) ->
      Iss.
  
  %%-------------------------------------------------------------------
  key(<<Context/binary>>) ->
      key(ctx_to_internal(Context));
  key(#apns_jwt_ctx{key=Key}) ->
  
negative.code:          hdr}).
  
  -opaque context() :: binary().
  -type apns_jwt_ctx() :: #apns_jwt_ctx{}.
  
  %%%====================================================================
  %%% API
  