@@ -60,8 +60,8 @@ Date: Tue, 20 Apr 2021 02:07:55 GMT
6060Content-Type: application/json
6161Content-Digest: sha-512=:WZDPaVn/7XgHaAy8pmojAkGWoRx2UFChF41A2svX+TaPm+AbwAgBWnrIiYllu7BNNyealdVLvRwEmTHWXvJwew==:
6262Content-Length: 18
63- Signature-Input: sig-b22=("@authority" "content-digest" "@query-param";name="Pet");created=1618884473;keyid="test-key-rsa-pss";context ="header-example"
64- Signature: sig-b22=:SW3AKyCPY7PQSARlOEg8+tb43JD4uYGBrt6G+RWKgrOZ9ZJWq8VnVM1qTcdjChi6HGZI4xDwKZteoQH8mj2HT1cWdUTxu2JaUvcJDINpa0m20NYywRu/HLXmh/FfeefGIUpkAneT/X/sWL/ShiTtp7REtxdJaiLCjQidY9eUpFmBXPMdR/FiYI3hGWarGGiGmTpgbjI713ywhKoGPm7Q8lpfhz5T59tOsZVPxlqdpwPD0RVGOwZMzI5VzoY4YaGrB2fqvPOxNUNuh5bveYQOYAmzmpDaLfgkQB/C4AHzKWAYs9yV6Wf78u4en7AP1Y+iM0G6MviZvX1/lcgC2n1bDg ==:
63+ Signature-Input: sig-b22=("@authority" "content-digest" "@query-param";name="Pet");created=1618884473;keyid="test-key-rsa-pss";tag ="header-example"
64+ Signature: sig-b22=:LjbtqUbfmvjj5C5kr1Ugj4PmLYvx9wVjZvD9GsTT4F7GrcQEdJzgI9qHxICagShLRiLMlAJjtq6N4CDfKtjvuJyE5qH7KT8UCMkSowOB4+ECxCmT8rtAmj/0PIXxi0A0nxKyB09RNrCQibbUjsLS/2YyFYXEu4TRJQzRw1rLEuEfY17SARYhpTlaqwZVtR8NV7+4UKkjqpcAoFqWFQh62s7Cl+H2fjBSpqfZUJcsIk4N6wiKYd4je2U/lankenQ99PZfB4jY3I5rSV2DSBVkSFsURIjYErOs0tFTQosMTAoxk//0RoKUqiYY8Bh0aaUEb0rQl3/XaVe4bXTugEjHSw ==:
6565
6666{"hello": "world"}
6767`
@@ -1575,10 +1575,7 @@ func TestRequestBinding(t *testing.T) {
15751575 fields := * NewFields ()
15761576 verifier , err := NewRSAPSSVerifier ("test-key-rsa-pss" , * pubKey , NewVerifyConfig ().SetVerifyCreated (false ), fields )
15771577 assert .NoError (t , err , "create verifier" )
1578- sigBase , err := verifyRequestDebug ("sig1" , * verifier , req )
1579- _ = sigBase
1580- // fmt.Println(sigBase)
1581- // assert.NoError(t, err, "verify request") // Note: does not verify
1578+ _ , err = verifyRequestDebug ("sig1" , * verifier , req )
15821579
15831580 res := readResponse (httpres6 )
15841581 pubKey2 , err := parseECPublicKeyFromPemStr (p256PubKey2 )
@@ -1640,7 +1637,7 @@ func TestBinarySequence(t *testing.T) {
16401637 signer1 , err := NewP256Signer ("key20" , * priv , NewSignConfig (),
16411638 * NewFields ().AddHeader ("@status" ).AddHeaderExt ("set-cookie" , false , false , false ))
16421639 assert .NoError (t , err , "could not create signer" )
1643- sigInput , sig , err : = SignResponse ("sig2" , * signer1 , res , nil )
1640+ _ , _ , err = SignResponse ("sig2" , * signer1 , res , nil )
16441641 assert .Error (t , err , "signature should have failed" )
16451642
16461643 signer2 , err := NewP256Signer ("key20" , * priv , NewSignConfig ().setFakeCreated (1659563420 ),
@@ -1667,43 +1664,43 @@ func TestBinarySequence(t *testing.T) {
16671664 assert .NoError (t , err , "could not verify response" )
16681665}
16691666
1670- func TestSignatureContext (t * testing.T ) {
1667+ func TestSignatureTag (t * testing.T ) {
16711668 priv , pub , err := genP256KeyPair ()
16721669 assert .NoError (t , err , "failed to generate key" )
16731670 res := readResponse (httpres2 )
16741671
1675- signer1 , err := NewP256Signer ("key21" , * priv , NewSignConfig ().SetContext ("ctx1" ).setFakeCreated (1660755826 ),
1672+ signer1 , err := NewP256Signer ("key21" , * priv , NewSignConfig ().SetTag ("ctx1" ).setFakeCreated (1660755826 ),
16761673 * NewFields ().AddHeader ("@status" ))
16771674 assert .NoError (t , err , "could not create signer" )
16781675 sigInput , sig , sigBase , err := signResponseDebug ("sig2" , * signer1 , res , nil )
16791676 assert .NoError (t , err , "signature failed" )
1680- assert .Equal (t , "\" @status\" : 200\n \" @signature-params\" : (\" @status\" );created=1660755826;alg=\" ecdsa-p256-sha256\" ;context =\" ctx1\" ;keyid=\" key21\" " , sigBase , "unexpected signature base" )
1677+ assert .Equal (t , "\" @status\" : 200\n \" @signature-params\" : (\" @status\" );created=1660755826;alg=\" ecdsa-p256-sha256\" ;tag =\" ctx1\" ;keyid=\" key21\" " , sigBase , "unexpected signature base" )
16811678 res .Header .Add ("Signature-Input" , sigInput )
16821679 res .Header .Add ("Signature" , sig )
16831680
1684- // Signature should fail with malformed context
1685- signer2 , err := NewP256Signer ("key21" , * priv , NewSignConfig ().SetContext ("ctx1\x00 " ),
1681+ // Signature should fail with malformed tag
1682+ signer2 , err := NewP256Signer ("key21" , * priv , NewSignConfig ().SetTag ("ctx1\x00 " ),
16861683 * NewFields ().AddHeader ("@status" ))
16871684 assert .NoError (t , err , "could not create signer" )
1688- sigInput , sig , _ , err = signResponseDebug ("sig2" , * signer2 , res , nil )
1685+ _ , _ , _ , err = signResponseDebug ("sig2" , * signer2 , res , nil )
16891686 assert .Error (t , err , "signature should fail" )
16901687
1691- // Client verifies response - should succeed, no context constraint
1688+ // Client verifies response - should succeed, no tag constraint
16921689 verifier1 , err := NewP256Verifier ("key21" , * pub , NewVerifyConfig ().SetVerifyCreated (false ),
16931690 * NewFields ().AddHeader ("@status" ))
16941691 assert .NoError (t , err , "could not create verifier" )
16951692 err = VerifyResponse ("sig2" , * verifier1 , res , nil )
16961693 assert .NoError (t , err , "failed to verify response" )
16971694
1698- // Client verifies response - should succeed, correct context
1699- verifier2 , err := NewP256Verifier ("key21" , * pub , NewVerifyConfig ().SetVerifyCreated (false ).SetAllowedContexts ([]string {"ctx3" , "ctx2" , "ctx1" }),
1695+ // Client verifies response - should succeed, correct tag
1696+ verifier2 , err := NewP256Verifier ("key21" , * pub , NewVerifyConfig ().SetVerifyCreated (false ).SetAllowedTags ([]string {"ctx3" , "ctx2" , "ctx1" }),
17001697 * NewFields ().AddHeader ("@status" ))
17011698 assert .NoError (t , err , "could not create verifier" )
17021699 err = VerifyResponse ("sig2" , * verifier2 , res , nil )
17031700 assert .NoError (t , err , "failed to verify response" )
17041701
1705- // Client verifies response - should fail, incorrect contexts
1706- verifier3 , err := NewP256Verifier ("key21" , * pub , NewVerifyConfig ().SetVerifyCreated (false ).SetAllowedContexts ([]string {"ctx5" , "ctx6" , "ctx7" }),
1702+ // Client verifies response - should fail, incorrect tags
1703+ verifier3 , err := NewP256Verifier ("key21" , * pub , NewVerifyConfig ().SetVerifyCreated (false ).SetAllowedTags ([]string {"ctx5" , "ctx6" , "ctx7" }),
17071704 * NewFields ().AddHeader ("@status" ))
17081705 assert .NoError (t , err , "could not create verifier" )
17091706 err = VerifyResponse ("sig2" , * verifier3 , res , nil )
0 commit comments