a Secarta project ...

HTTPsec Authentication Protocol


Preamble

3.1.1. Initialization Request

The Authorization header [HTTP][ 14.8] in protocol initialization requests has the following form:

"Authorization: httpsec/1.0 initialize, "
 1#(  id
   |  dh
   | [certificate] 
   |  url
   |  group
   |  nonce )
   
id          = "id=" <URI>
dh          = "dh=" base64
certificate = "certificate=" <URI>
url         = "url=" <URI>
group       = "group=" <string-no-whitespace>
nonce       = "nonce=" base64

Example message:

HEAD http://alice.example.com/foobar.txt HTTP/1.1
Authorization: httpsec/1.0 initialize
    id=bob.example.com
    dh=clW9y2X5Vy+5+Ncv5lAI3W9y2X5Vgfe4y+5+Ncv5l...
    certificate=http://bob.example.com/my-cert
    url=http://alice.example.com/foobar.txt
    group=rfc3526#14
    nonce=7iqgkzgfdIe0HN35r6met2579yxetyerty7MZW...

(For legibility, the example's protocol header is extended over multiple lines, as per [HTTP][4.2]. Additionally, the values of some directives are lengthy and have therefore been abbreviated; their terminating ellipsis "..." would NOT appear in the actual value.)

An initialization request has a HEAD method [HTTP][ Section 9.4], unless it carries a certificate payload in the message entity-body (see certificate section) in which case it has a POST method [HTTP][ Section 9.5].

Its Request-URI [HTTP][ Section 5.1.2] is typically be that of a protected resource hosted by the responder and ultimately desired by the requester, but this is not normative.