Skip to content

Commit

Permalink
add all tests cases
Browse files Browse the repository at this point in the history
  • Loading branch information
decentralgabe committed Dec 14, 2024
1 parent a3d7321 commit f0cfd7d
Show file tree
Hide file tree
Showing 12 changed files with 173 additions and 155 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ jobs:
run: npm run lint
test-node:
if: ${{ github.event_name == 'schedule' ||
github.event_name == 'workflow_dispatch' }}
github.event_name == 'workflow_dispatch'||
github.event_name == 'push' }}
runs-on: ubuntu-latest
timeout-minutes: 15
strategy:
Expand Down
2 changes: 1 addition & 1 deletion implementations/independent/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ module github.com/w3c/vc-test-suite-template
go 1.23.3

require (
github.com/decentralgabe/vc-jose-cose-go v0.0.0-20241210221305-008380bea39c
github.com/decentralgabe/vc-jose-cose-go v0.0.0-20241214004022-47f4d05fd2cc
github.com/goccy/go-json v0.10.3
github.com/lestrrat-go/jwx/v2 v2.1.3
github.com/pkg/errors v0.9.1
Expand Down
4 changes: 2 additions & 2 deletions implementations/independent/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ github.com/btcsuite/btcd/btcec/v2 v2.3.4/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/decentralgabe/vc-jose-cose-go v0.0.0-20241210221305-008380bea39c h1:Xpa6CwuulzHDq2Pme8q+Myw/3DXRy6MkeqtBd3r9VSY=
github.com/decentralgabe/vc-jose-cose-go v0.0.0-20241210221305-008380bea39c/go.mod h1:ZOHYH9iQGJdawl1+iSfzrfQQxPHrDVL/rpZRc5z9okI=
github.com/decentralgabe/vc-jose-cose-go v0.0.0-20241214004022-47f4d05fd2cc h1:3yrGckdayGbgac+zUNSTX/roKLD7Nh1+/WIVvvNPuCE=
github.com/decentralgabe/vc-jose-cose-go v0.0.0-20241214004022-47f4d05fd2cc/go.mod h1:ZOHYH9iQGJdawl1+iSfzrfQQxPHrDVL/rpZRc5z9okI=
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 h1:rpfIENRNNilwHwZeG5+P150SMrnNEcHYvcCuK6dPZSg=
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0=
github.com/fxamacker/cbor/v2 v2.5.0 h1:oHsG0V/Q6E/wqTS2O1Cozzsy69nqCiguo5Q1a1ADivE=
Expand Down
28 changes: 15 additions & 13 deletions implementations/independent/issue.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,33 +47,35 @@ func Issue(inputFile, keyFile string, disclosures []string, feature Feature) (*R
}

func IssueCredential(credBytes []byte, disclosures []string, keyBytes []byte, feature Feature) (*Result, error) {
var cred credential.VerifiableCredential
if err := json.Unmarshal(credBytes, &cred); err != nil {
return nil, fmt.Errorf("error unmarshaling credential: %v", err)
// Unmarshal the payload into VerifiableCredential
cred, err := credential.DecodeVC(credBytes)
if err != nil {
return nil, fmt.Errorf("failed to unmarshal VerifiableCredential: %w", err)
}

var vm cid.VerificationMethod
if err := json.Unmarshal(keyBytes, &vm); err != nil {
return nil, fmt.Errorf("error unmarshaling verifcation method: %v", err)
return nil, fmt.Errorf("error unmarshaling verification method: %v", err)
}

switch feature {
case JOSECredential:
return IssueJOSECredential(cred, vm.SecretKeyJWK)
return IssueJOSECredential(*cred, vm.SecretKeyJWK)
case COSECredential:
return IssueCOSECredential(cred, vm.SecretKeyJWK)
return IssueCOSECredential(*cred, vm.SecretKeyJWK)
case SDJWTCredential:
return IssueSDJWTCredential(cred, disclosures, vm.SecretKeyJWK)
return IssueSDJWTCredential(*cred, disclosures, vm.SecretKeyJWK)
default:
fmt.Printf("unsupported credential feature: %s\n", feature)
return &Result{Result: Indeterminate}, nil
}
}

func IssuePresentation(presBytes []byte, disclosures []string, keyBytes []byte, feature Feature) (*Result, error) {
var pres credential.VerifiablePresentation
if err := json.Unmarshal(presBytes, &pres); err != nil {
return nil, fmt.Errorf("error unmarshaling presentation: %v", err)
// Unmarshal the payload into VerifiablePresentation
pres, err := credential.DecodeVP(presBytes)
if err != nil {
return nil, fmt.Errorf("failed to unmarshal VerifiablePresentation: %w", err)
}

var vm cid.VerificationMethod
Expand All @@ -83,11 +85,11 @@ func IssuePresentation(presBytes []byte, disclosures []string, keyBytes []byte,

switch feature {
case JOSEPresentation:
return IssueJOSEPresentation(pres, vm.SecretKeyJWK)
return IssueJOSEPresentation(*pres, vm.SecretKeyJWK)
case COSEPresentation:
return IssueCOSEPresentation(pres, vm.SecretKeyJWK)
return IssueCOSEPresentation(*pres, vm.SecretKeyJWK)
case SDJWTPresentation:
return IssueSDJWTPresentation(pres, disclosures, vm.SecretKeyJWK)
return IssueSDJWTPresentation(*pres, disclosures, vm.SecretKeyJWK)
default:
fmt.Printf("unsupported presentation feature: %s\n", feature)
return &Result{Result: Indeterminate}, nil
Expand Down
101 changes: 46 additions & 55 deletions tests/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,125 +74,116 @@ Following, are a set of test cases which describe how the statements are to be t

#### Issuance Tests

1. Basic Credential Issuance
1. JWT Basic Credential Issuance
* Input: Minimal credential with only required fields (type, issuer, credentialSubject)
* Format: jose
* Covers: 1, 4
* Covers: 1, 4, 27, 28

2. Credential with All Optional Fields
2. JWT Credential Issuance with All Optional Fields
* Input: Credential containing all optional fields (evidence, termsOfUse, etc.)
* Format: jose
* Covers: 1, 4
* Covers: 1, 4, 27, 28

3. Basic Presentation Issuance
3. JWT Basic Presentation Issuance
* Input: Presentation containing single credential
* Format: jose
* Covers: 5, 7, 8
* Covers: 5, 7, 8, 27, 28

4. Complex Presentation Issuance
4. JWT Complex Presentation Issuance
* Input: Presentation containing multiple credentials with different types
* Format: jose
* Covers: 5, 7, 8
* Covers: 5, 7, 8, 13, 14, 20, 21, 27, 28

5. JWT Issuance With Unknown Extensions
* Input: Unsigned credential with unknown extensions
* Format: jose
* Covers: 26, 27, 28, 31, 33

#### Verification Tests

5. Basic Credential Verification
6. JWT Basic Credential Verification
* Input: Signed minimal credential
* Format: jose
* Covers: 2, 3, 29, 30, 31, 32
* Covers: 2, 3, 27, 28, 29, 30, 31, 32

6. Presentation Verification
7. JWT Presentation Verification
* Input: Signed presentation with multiple credentials
* Format: jose
* Covers: 6, 7, 8
* Covers: 6, 7, 8, 27, 28

7. Issuer Match Verification
8. JWT Issuer Match Verification
* Input: Credential with string issuer and matching iss claim
* Format: jose
* Covers: 24, 25
* Covers: 24, 25, 27, 28

8. URL Method Resolution
* Input: Credential using URL identifiers without iss
9. JWT Verification With Unknown Extensions
* Input: Signed JOSE credential with unknown extensions
* Format: jose
* Covers: 27, 28

* Covers: 26, 27, 28, 31, 33
### SD-JWT Tests

#### Issuance Tests

9. Basic SD-JWT Credential
10. Basic SD-JWT Credential Issuance
* Input: Credential with simple selective disclosure claims
* Format: sd-jwt
* Covers: 9
* Covers: 9, 27, 28

10. Complex SD-JWT Credential
11. Complex SD-JWT Credential Issuance
* Input: Credential with nested selective disclosure claims
* Format: sd-jwt
* Covers: 9
* Covers: 9, 27, 28

11. SD-JWT Presentation
12. SD-JWT Presentation Issuance
* Input: Presentation containing SD-JWT credentials
* Format: sd-jwt
* Covers: 11, 13, 14

* Covers: 11, 13, 14, 27, 28
#### Verification Tests

12. Basic SD-JWT Verification
13. Basic SD-JWT Verification
* Input: SD-JWT credential with mix of disclosed/undisclosed claims
* Format: sd-jwt
* Covers: 10, 26, 31
* Covers: 10, 26, 27, 28, 31

13. Complex SD-JWT Verification
14. Complex SD-JWT Verification
* Input: SD-JWT credential with nested disclosures
* Format: sd-jwt
* Covers: 10, 26, 31
* Covers: 10, 26, 27, 28, 31

14. SD-JWT Presentation Verification
15. SD-JWT Presentation Verification
* Input: Presentation with multiple SD-JWT credentials
* Format: sd-jwt
* Covers: 12, 13, 14

* Covers: 12, 13, 14, 27, 28
### COSE Tests

#### Issuance Tests

15. Basic COSE Credential
16. Basic COSE Credential
* Input: Standard credential with required fields
* Format: cose
* Covers: 15, 22

16. COSE Presentation
17. COSE Presentation
* Input: Presentation containing COSE credentials
* Format: cose
* Covers: 18, 20, 21
* Covers: 18, 20, 21, 27, 28

#### Verification Tests

17. Basic COSE Verification
18. Basic COSE Verification
* Input: Signed COSE credential
* Format: cose
* Covers: 16, 29, 30, 31, 32
* Covers: 16, 27, 28, 29, 30, 31, 32

18. Base64 Encoding Verification
19. COSE Base64 Encoding Verification
* Input: COSE credential in presentation with base64 encoding
* Format: cose
* Covers: 17, 20, 21
* Covers: 17, 20, 21, 27, 28

19. COSE Presentation Verification
20. COSE Presentation Verification
* Input: Presentation with multiple COSE credentials
* Format: cose
* Covers: 19, 20, 21

### Cross-Format Tests

#### Verification Tests

20. Multi-format Presentation
* Input: Presentation containing JWT, SD-JWT, and COSE credentials
* Format: jose, cose, sd-jwt
* Covers: 7, 8, 13, 14, 20, 21

21. Extension Processing
* Input: Credentials of different formats with unknown extensions
* Format: jose, cose, sd-jwt
* Covers: 26, 31, 33
* Covers: 19, 20, 21, 27, 28
1 change: 1 addition & 0 deletions tests/input/credential-minimal-cose-signed-not-base64.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
d2845856a40126036e6170706c69636174696f6e2f766304582b3733766f4d58464e6d4e6c4f4570755943534a6c6838654e30647363796b6f4f366742756b67525331755510736170706c69636174696f6e2f76632b636f7365a05901f27b2240636f6e74657874223a5b2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f7632222c2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f6578616d706c65732f7632225d2c2274797065223a5b2256657269666961626c6543726564656e7469616c222c224578616d706c65416c756d6e6943726564656e7469616c225d2c226964223a22687474703a2f2f756e69766572736974792e6578616d706c652f63726564656e7469616c732f31383732222c22697373756572223a2268747470733a2f2f6578616d706c652e6973737565722f76632d6a6f73652d636f7365222c2276616c696446726f6d223a22323031302d30312d30315431393a32333a32345a222c2263726564656e7469616c5375626a656374223a7b22646567726565223a7b226e616d65223a2242616368656c6f72206f6620536369656e636520616e642041727473222c2274797065223a2242616368656c6f72446567726565227d2c226964223a226469643a6578616d706c653a313233227d2c2263726564656e7469616c536368656d61223a7b226964223a2268747470733a2f2f6578616d706c652e6f72672f6578616d706c65732f6465677265652e6a736f6e222c2274797065223a224a736f6e536368656d61227d7d5840b375b558df37c95bbf1e813260ccbb4dc9ae6fdccbe793c39df731e721b8d814ded20750f84d15f41dc1d60319cadf5d0c4199549ca777cbf3b5656bedde0a93
1 change: 1 addition & 0 deletions tests/input/credential-unknown-extensions-signed.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
eyJhbGciOiJFUzUxMiIsImN0eSI6InZjIiwia2lkIjoiS1FzaWh4UC1MVGVUWk8yRVRFZmR1UDE1M1VCSWlGUmhJOG5Ta2xNU21tMCIsInR5cCI6InZjK2p3dCJ9.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiY3JlZGVudGlhbFNjaGVtYSI6eyJpZCI6Imh0dHBzOi8vZXhhbXBsZS5vcmcvZXhhbXBsZXMvZGVncmVlLmpzb24iLCJ0eXBlIjoiSnNvblNjaGVtYSJ9LCJjcmVkZW50aWFsU3ViamVjdCI6eyJkZWdyZWUiOnsibmFtZSI6IkJhY2hlbG9yIG9mIFNjaWVuY2UgYW5kIEFydHMiLCJ0eXBlIjoiQmFjaGVsb3JEZWdyZWUifSwiaWQiOiJkaWQ6ZXhhbXBsZToxMjMifSwiaWF0IjoiMjAxMC0wMS0wMVQxOToyMzoyNFoiLCJpZCI6Imh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiIsImlzcyI6Imh0dHBzOi8vZXhhbXBsZS5pc3N1ZXIvdmMtam9zZS1jb3NlIiwiaXNzdWVyIjoiaHR0cHM6Ly9leGFtcGxlLmlzc3Vlci92Yy1qb3NlLWNvc2UiLCJqdGkiOiJodHRwOi8vdW5pdmVyc2l0eS5leGFtcGxlL2NyZWRlbnRpYWxzLzE4NzIiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiRXhhbXBsZUFsdW1uaUNyZWRlbnRpYWwiXSwidmFsaWRGcm9tIjoiMjAxMC0wMS0wMVQxOToyMzoyNFoifQ.AXLMDJSZkri2raeeqE_iiizddNAvKVihbpPSMTr-bz-v9ddRnMD2OfLcOuzn5Pt0Clu8Xm7VRDmJiE3WWKXpC8hJANeYouwxlfEHICFhY5n4yVEb9gC-X8U5I0y4HHA3u-_nn2E6piaMyR7TGpUEXsAbz4jnb7leP_GGErdVNh6zJ_of
30 changes: 30 additions & 0 deletions tests/input/credential-unknown-extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"id": "http://university.example/credentials/1872",
"type": [
"VerifiableCredential",
"ExampleAlumniCredential"
],
"issuer": "https://example.issuer/vc-jose-cose",
"validFrom": "2010-01-01T19:23:24Z",
"credentialSchema": {
"id": "https://example.org/examples/degree.json",
"type": "JsonSchema"
},
"badExtension": {
"huh": "what?"
},
"anotherBadOne": {
"oh": "no!"
},
"credentialSubject": {
"id": "did:example:123",
"degree": {
"type": "BachelorDegree",
"name": "Bachelor of Science and Arts"
}
}
}
6 changes: 3 additions & 3 deletions tests/input/presentation-multiple.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,17 @@
{
"@context": "https://www.w3.org/ns/credentials/v2",
"type": "EnvelopedVerifiableCredential",
"id": "data:application/vc+jwt,eyJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJkaWQ6ZXhhbXBsZToxMjMifQ...."
"id": "data:application/vc+jwt,yJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaWQiOiJodHRwOi8vdW5pdmVyc2l0eS5leGFtcGxlL2NyZWRlbnRpYWxzLzE4NzIiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiRXhhbXBsZUFsdW1uaUNyZWRlbnRpYWwiXSwiaXNzdWVyIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy81NjUwNDkiLCJ2YWxpZEZyb20iOiIyMDEwLTAxLTAxVDE5OjIzOjI0WiIsImNyZWRlbnRpYWxTY2hlbWEiOnsiaWQiOiJodHRwczovL2V4YW1wbGUub3JnL2V4YW1wbGVzL2RlZ3JlZS5qc29uIiwidHlwZSI6Ikpzb25TY2hlbWEifSwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6ZXhhbXBsZToxMjMiLCJkZWdyZWUiOnsidHlwZSI6IkJhY2hlbG9yRGVncmVlIiwibmFtZSI6IkJhY2hlbG9yIG9mIFNjaWVuY2UgYW5kIEFydHMifX19.B5Nb-yK8uVEI0292vZqtAcFvJHY2Q-8QaD2eEhg0zrMQ1JlmTAn-FPr761PbFKE1kHMqz7TAeuGVsCA7RXstVA"
},
{
"@context": "https://www.w3.org/ns/credentials/v2",
"type": "EnvelopedVerifiableCredential",
"id": "data:application/vc+sd-jwt,eyJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJkaWQ6ZXhhbXBsZToxMjMifQ....~"
"id": "data:application/vc+sd-jwt,eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ.eyJfc2RfYWxnIjoic2hhLTI1NiIsIkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy9leGFtcGxlcy92MiJdLCJpc3N1ZXIiOiJodHRwczovL3VuaXZlcnNpdHkuZXhhbXBsZS9pc3N1ZXJzLzU2NTA0OSIsInZhbGlkRnJvbSI6IjIwMTAtMDEtMDFUMTk6MjM6MjRaIiwiY3JlZGVudGlhbFNjaGVtYSI6eyJfc2QiOlsiNjJvUy1wSXVPb3VtVkVSUldOOFBjay01OU5EbGZXcnJ4SzRmemI2ZFNaVSIsIndVcTIxbDVTWWR1ZkxFNXRDN3FaV2JselBwTF9sczZXek9uemNfdUt1RXMiXX0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImRlZ3JlZSI6eyJuYW1lIjoiQmFjaGVsb3Igb2YgU2NpZW5jZSBhbmQgQXJ0cyIsIl9zZCI6WyJhdjVsV1FoYW9RVGZrWk10aVZIcG96aTBRdjFCNjJseGdCMmpyNEMxQkhVIl19LCJfc2QiOlsiR0xSVkRNYmh4aEN5Q19DbjdibWV6Q0VxSVVzWC1jalZXazZQbGdFQmdyNCJdfSwiX3NkIjpbIjJxM3pkelluNXhjWEdJN09jQnFXbkxVUU9Vd3RVQ25oaGh1My1MTnE0bmsiLCI0SHNuR25haTFwbFdjZW5vdmdXUEg5eHhLb05zM2J6TC0yeVh0NUlPVVZRIl19.Fvrs29xQefvghX02LzMLjZdDiVeliOJlnFLbyVaUKur8P7EPCZELVZ1lwYmAxjA03hg24a-5XRbnZWeEE4qMwg ~WyJKR1dEYXhyYVJSU24yeW0zRmNFVkxBIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiJd~WyJaWUlSbmd4OUU1NURBNHBLcjVBUm1nIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d~WyJrWHZBc2hHb1ZKUWpicGUwN1lib1BBIiwgImlkIiwgImh0dHBzOi8vZXhhbXBsZS5vcmcvZXhhbXBsZXMvZGVncmVlLmpzb24iXQ~WyI1TnNZZC1EV0ZTeGlSdGlkaEhTVml3IiwgInR5cGUiLCAiSnNvblNjaGVtYSJd~WyJGOWZWbFFVWUczVm1zZFh2OEtIV0dnIiwgImlkIiwgImRpZDpleGFtcGxlOjEyMyJd~WyJKV3JMZy1pZFhTU0d6ZUx2elNoQTZBIiwgInR5cGUiLCAiQmFjaGVsb3JEZWdyZWUiXQ~"
},
{
"@context": "https://www.w3.org/ns/credentials/v2",
"type": "EnvelopedVerifiableCredential",
"id": "data:application/vc+cose;base64,0oRDoQEm..."
"id": "data:application/data:application/vc+cose;base64,0oRYV6QBOCIDbmFwcGxpY2F0aW9uL3ZwBFgrOTZxQm5EcHZTNng4WVNDSF94bW5MbFhaTWtEaEhCcjhsajk5dTVhb2c3cxBzYXBwbGljYXRpb24vdnArY29zZaBZAbh7IkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy9leGFtcGxlcy92MiJdLCJ0eXBlIjoiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiIsImlkIjoidXJuOnV1aWQ6Mzk3ODM0NGYtODU5Ni00YzNhLWE5NzgtOGZjYWJhMzkwM2M1IiwiaG9sZGVyIjoiaHR0cHM6Ly9leGFtcGxlLmlzc3Vlci92Yy1qb3NlLWNvc2UiLCJ2ZXJpZmlhYmxlQ3JlZGVudGlhbCI6W3siQGNvbnRleHQiOiJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJ0eXBlIjoiRW52ZWxvcGVkVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJpZCI6ImRhdGE6YXBwbGljYXRpb24vdmMrand0LGV5SmhiR2NpT2lKRlV6STFOaUo5LmV5SnBjM01pT2lKa2FXUTZaWGhoYlhCc1pUb3hNak1pZlEuLi4uIn1dfVhgKaiB5JyPbbWkbcG/h2d13dHzNiQexFHY5hEfPfQasO0T5FOP97fZl8AGAdQjnFmKtq782XeuAUr+ie/+8b+kKCWJSVBddXEedPYZUPZpk/uG44UhjvcBMhiR7ET0xmE2"
}
]
}
2 changes: 1 addition & 1 deletion tests/input/presentation-single.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@
"verifiableCredential": [{
"@context": "https://www.w3.org/ns/credentials/v2",
"type": "EnvelopedVerifiableCredential",
"id": "data:application/vc+jwt,eyJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJkaWQ6ZXhhbXBsZToxMjMifQ...."
"id": "data:application/vc+jwt,yJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaWQiOiJodHRwOi8vdW5pdmVyc2l0eS5leGFtcGxlL2NyZWRlbnRpYWxzLzE4NzIiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiRXhhbXBsZUFsdW1uaUNyZWRlbnRpYWwiXSwiaXNzdWVyIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy81NjUwNDkiLCJ2YWxpZEZyb20iOiIyMDEwLTAxLTAxVDE5OjIzOjI0WiIsImNyZWRlbnRpYWxTY2hlbWEiOnsiaWQiOiJodHRwczovL2V4YW1wbGUub3JnL2V4YW1wbGVzL2RlZ3JlZS5qc29uIiwidHlwZSI6Ikpzb25TY2hlbWEifSwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6ZXhhbXBsZToxMjMiLCJkZWdyZWUiOnsidHlwZSI6IkJhY2hlbG9yRGVncmVlIiwibmFtZSI6IkJhY2hlbG9yIG9mIFNjaWVuY2UgYW5kIEFydHMifX19.B5Nb-yK8uVEI0292vZqtAcFvJHY2Q-8QaD2eEhg0zrMQ1JlmTAn-FPr761PbFKE1kHMqz7TAeuGVsCA7RXstVA"
}]
}
20 changes: 20 additions & 0 deletions tests/input/vm-did-ed25519.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"id": "did:example:vc-jose-cose#key-4",
"type": "JsonWebKey",
"controller": "did:example:vc-jose-cose",
"publicKeyJwk": {
"alg": "EdDSA",
"crv": "Ed25519",
"kid": "2aOHaQxsWVT4mLsUkdtlCnUV-au0BBR-5yPYaPaCc5k",
"kty": "OKP",
"x": "NvUhsjZe7Mdv8Esoc60o3ma1U5j2tFUTDsOQd39xMnI"
},
"secretKeyJwk": {
"alg": "EdDSA",
"crv": "Ed25519",
"d": "cbxP1TvbhLteRSspEvwxEuFKRDHWpGmPla8ePI0cmv8",
"kid": "2aOHaQxsWVT4mLsUkdtlCnUV-au0BBR-5yPYaPaCc5k",
"kty": "OKP",
"x": "NvUhsjZe7Mdv8Esoc60o3ma1U5j2tFUTDsOQd39xMnI"
}
}
Loading

0 comments on commit f0cfd7d

Please sign in to comment.