Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What does your request credential contain? #7

Open
vongohren opened this issue Oct 19, 2022 · 5 comments
Open

What does your request credential contain? #7

vongohren opened this issue Oct 19, 2022 · 5 comments

Comments

@vongohren
Copy link

vongohren commented Oct 19, 2022

What we need to work out here are commonalities and where do we need to adjust according to the spec of JFF. Meaning that we find a shared JSON structure inside the attachement or where do we put the layer

We also have to understand what does the attachement here offer of functionality

@vongohren
Copy link
Author

{
  "id": "632d380ab4ee1e0025d45e92",
  "to": [
    "did:key:z6MkkgfrEB9gSvpJui6yLmqHhcuuLjto9QXKCSa4WtHai4KR"
  ],
  "typ": "application/didcomm-plain+json",
  "type": "https://didcomm.org/issue-credential/2.0/request-credential",
  "from": "did:key:z6Mknr8VZzAwecsS2Bugncp47dbHuSzhjGz4khcvm5KCSUCR",
  "thid": "70142c08-3780-4cdc-a92c-925523c3912b",
  "attachments": [],
}

@brianorwhatever
Copy link
Contributor

{
   "type":"https://didcomm.org/issue-credential/3.0/request-credential",
   "id":"d00300b6c6db47e845e9f75c14fa2696c519245e4f5bd0ae30d3bfd6f691c098",
   "thid":"d00100bdf7f4b473232b49bc2a11dbda0ff10d418ba571205b252aa14dd294e1",
   "from":"did:peer:2.Ez6LSpSrLxbAhg2SHwKk7kwpsH7DM7QjFS5iK6qP87eViohud.Vz6MkqRYqQiSgvZQdnBytw86Qbs2ZWUkGv22od935YF4s8M7V.SeyJ0IjoiZG0iLCJzIjoiaHR0cHM6Ly9leGFtcGxlLmNvbS9lbmRwb2ludDEiLCJyIjpbImRpZDpleGFtcGxlOnNvbWVtZWRpYXRvciNzb21la2V5MSJdLCJhIjpbImRpZGNvbW0vdjIiLCJkaWRjb21tL2FpcDI7ZW52PXJmYzU4NyJdfQ",
   "to":[
      "did:web:aviary.id"
   ],
   "body":{
      
   },
   "attachments":[
      {
         "id":"d000003c48693771cd22c57096b09557002c41c6ab4ba0704bdd5781197656a4",
         "media_type":"application/json",
         "format":"dif/credential-manifest/[email protected]",
         "data":{
            "json":{
               "@context":[
                  "https://www.w3.org/2018/credentials/v1",
                  "https://identity.foundation/credential-manifest/application/v1"
               ],
               "type":[
                  "VerifiablePresentation",
                  "CredentialApplication"
               ],
               "credential_application":{
                  "id":"c00600022dca14affa8ab4a2e66765100f31a990e159022e7a498542c605c3da",
                  "manifest_id":"c001006f847f39073113b0ed862ff88c3c49669b4bbf5a30fcbec9f62d35cf98",
                  "format":{
                     "ldp_vc":{
                        "proof_type":[
                           "JsonWebSignature2020",
                           "Ed25519Signature2018"
                        ]
                     }
                  }
               },
               "presentation_submission":{
                  "id":"c00300d10d25d00b9c7cf985637b88e4da3e2af2d644c74ced677784c30454c6",
                  "definition_id":"c00400f85e0aae79eb62b099a4aab4eb54cc99df6ca444b83a6fb04c580c3380",
                  "descriptor_map":[
                     {
                        "id":"c00400f85e0aae79eb62b099a4aab4eb54cc99df6ca444b83a6fb04c580c3380",
                        "format":"ldp_vp",
                        "path":"$.proof"
                     }
                  ]
               },
               "verifiableCredential":[
                  {
                    "@context": [
                      "https://www.w3.org/2018/credentials/v1",
                      "https://purl.imsglobal.org/spec/ob/v3p0/context.json"
                    ],
                    "id": "urn:uuid:a63a60be-f4af-491c-87fc-2c8fd3007a58",
                    "type": [
                      "VerifiableCredential",
                      "OpenBadgeCredential"
                    ],
                    "name": "JFF x vc-edu PlugFest 2 Interoperability",
                    "issuer": {
                      "type": [
                        "Profile"
                      ],
                      "id": "did:key:z6MktiSzqF9kqwdU8VkdBKx56EYzXfpgnNPUAGznpicNiWfn",
                      "name": "Jobs for the Future (JFF)"
                    },
                    "issuanceDate": "2022-11-14T00:00:00Z",
                    "credentialSubject": {
                      "type": [
                        "AchievementSubject"
                      ],
                      "id": "did:key:z6Mko2ceHiQqXGm1mzfQKdiGzc1czEBXvvgTpfroBwDjbwMd",
                      "achievement": {
                        "id": "urn:uuid:bd6d9316-f7ae-4073-a1e5-2f7f5bd22922",
                        "type": [
                          "Achievement"
                        ],
                        "name": "JFF x vc-edu PlugFest 2 Interoperability",
                        "description": "This credential solution supports the use of OBv3 and w3c Verifiable Credentials and is interoperable with at least two other solutions.  This was demonstrated successfully during JFF x vc-edu PlugFest 2.",
                        "criteria": {
                          "narrative": "Solutions providers earned this badge by demonstrating interoperability between multiple providers based on the OBv3 candidate final standard, with some additional required fields. Credential issuers earning this badge successfully issued a credential into at least two wallets.  Wallet implementers earning this badge successfully displayed credentials issued by at least two different credential issuers."
                        },
                        "image": {
                          "id": "https://w3c-ccg.github.io/vc-ed/plugfest-2-2022/images/JFF-VC-EDU-PLUGFEST2-badge-image.png",
                          "type": "Image"
                        }
                      }
                    },
                    "proof": [{
                      "type": "Ed25519Signature2018",
                      "created": "2022-10-19T17:59:37Z",
                      "verificationMethod": "did:key:z6Mko2ceHiQqXGm1mzfQKdiGzc1czEBXvvgTpfroBwDjbwMd#z6Mko2ceHiQqXGm1mzfQKdiGzc1czEBXvvgTpfroBwDjbwMd",
                      "proofPurpose": "assertionMethod",
                      "jws": "eyJhbGciOiJFZERTQSIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..0YMgLoK6F6Q47dvB2qQ79e1Dd27cjz4b5OnF2taQ38E0ZwtaA5GnS8igfTv2e_ZUbjalcwcPTq0u8Hf9CRLRDg"
                    }]
                  }
               ],
               "proof":{
                  "type":"Ed25519Signature2018",
                  "verificationMethod":"did:key:z6Mko2ceHiQqXGm1mzfQKdiGzc1czEBXvvgTpfroBwDjbwMd#z6Mko2ceHiQqXGm1mzfQKdiGzc1czEBXvvgTpfroBwDjbwMd",
                  "created":"2021-05-14T20:16:29.565377",
                  "proofPurpose":"authentication",
                  "challenge":"c13abd0fe67fcd1f3513e32b1ed5ad7c721e598ea0d1b9334ffecaa8e1a2fce6",
                  "jws":"eyJhbGciOiAiRWREU0EiLCAiYjY0IjogZmFsc2UsICJjcml0IjogWyJiNjQiXX0..7M9LwdJR1_SQayHIWVHF5eSSRhbVsrjQHKUrfRhRRrlbuKlggm8mm_4EI_kTPeBpalQWiGiyCb_0OWFPtn2wAQ"
               }
            }
         }
      }
   ]
}

The holder creates a dif/credential-manifest/[email protected] attachment which includes a VP that is a CredentialApplication. This includes a credential_application that links to the manifest from the offer message and the proof types they would be happy to receive. It also includes a presentation_submission that links to the presentation definition from the offer message. The descriptor_map describes where to find the challenge.. not sure if I got the JSONPath right for that. The verifiableCredential is the same one that the offer included however the holder has filled in the credentialSubject.id. Interestingly I had to also add a proof on there to make it a VC I think? Finally, that proof on the VP includes the challenge for DID Authentication.

@AlexAndrei98
Copy link

{'id': '9b2fed14-2896-428b-8868-c6550d722a1f',
 'type': 'https://didcomm.org/issue-credential/3.0/request-credential',
 'body': {'goal_code': 'issue-credential', 'comment': 'some comment'},
 'to': ['did:peer:2.Ez6LSms555YhFthn1WV8ciDBpZm86hK9tp83WojJUmxPGk1hZ.Vz6MkmdBjMyB4TS5UbbQw54szm8yvMMf1ftGV2sQVYAxaeWhE.SeyJpZCI6Im5ldy1pZCIsInQiOiJkbSIsInMiOiJodHRwczovL21lZGlhdG9yLnJvb3RzaWQuY2xvdWQiLCJhIjpbImRpZGNvbW0vdjIiXX0'],
 'attachments': [{'data': {'json': {'credential': {'@context': ['https://www.w3.org/2018/credentials/v1',
       'https://www.w3.org/2018/credentials/examples/v1'],
      'id': '9801c821-a3ab-4af3-90c4-b90687d7b67f',
      'type': ['VerifiableCredential', 'UniversityDegreeCredential'],
      'issuer': 'TBD',
      'issuanceDate': '2022-10-31T10:19:05Z',
      'credentialSubject': {'id': 'did:prism:a08f49e61bc46dc82b6bd54dd62087c25b53b4a7ef98e549ce62ee4ad3450d5c',
       'degree': {'type': 'BachelorDegree',
        'name': 'Bachelor of Science and Arts'}},
      'options': {'proofType': 'EcdsaSecp256k1Signature2019'}}}},
   'id': '55d6eb99-da03-473b-ac67-482c31978678',
   'media_type': 'application/json',
   'format': 'aries/[email protected]'}],
 'custom_headers': [{'return_route': 'all'}],
 'from': 'did:peer:2.Ez6LSdwaSDqrJj5a6b12XEWs56Rg8y2CbjoFnwSWaF76e4kaf.Vz6MkoZVLjr9tk1x2wdvHmk6eL8CbmfruaJSUeN2gxukFU2uS.SeyJpZCI6Im5ldy1pZCIsInQiOiJkbSIsInMiOiJodHRwczovL3d3dy5leGFtcGxlLmNvbS9ob2xkZXIiLCJhIjpbImRpZGNvbW0vdjIiXX0',
 'typ': 'application/didcomm-plain+json'}

@brianorwhatever
Copy link
Contributor

We dropped the VC from the VP as it isn't required because the issuer knows what the VC looks like already. The rest is the same as WACI didcomm

{
   "type":"https://didcomm.org/issue-credential/3.0/request-credential",
   "id":"d00300b6c6db47e845e9f75c14fa2696c519245e4f5bd0ae30d3bfd6f691c098",
   "thid":"d00100bdf7f4b473232b49bc2a11dbda0ff10d418ba571205b252aa14dd294e1",
   "from":"did:peer:2.Ez6LSpSrLxbAhg2SHwKk7kwpsH7DM7QjFS5iK6qP87eViohud.Vz6MkqRYqQiSgvZQdnBytw86Qbs2ZWUkGv22od935YF4s8M7V.SeyJ0IjoiZG0iLCJzIjoiaHR0cHM6Ly9leGFtcGxlLmNvbS9lbmRwb2ludDEiLCJyIjpbImRpZDpleGFtcGxlOnNvbWVtZWRpYXRvciNzb21la2V5MSJdLCJhIjpbImRpZGNvbW0vdjIiLCJkaWRjb21tL2FpcDI7ZW52PXJmYzU4NyJdfQ",
   "to":[
      "did:web:aviary.id"
   ],
   "body":{
      
   },
   "attachments":[
      {
         "id":"d000003c48693771cd22c57096b09557002c41c6ab4ba0704bdd5781197656a4",
         "media_type":"application/json",
         "format":"dif/credential-manifest/[email protected]",
         "data":{
            "json":{
               "@context":[
                  "https://www.w3.org/2018/credentials/v1",
                  "https://identity.foundation/credential-manifest/application/v1"
               ],
               "type":[
                  "VerifiablePresentation",
                  "CredentialApplication"
               ],
               "credential_application":{
                  "id":"c00600022dca14affa8ab4a2e66765100f31a990e159022e7a498542c605c3da",
                  "manifest_id":"c001006f847f39073113b0ed862ff88c3c49669b4bbf5a30fcbec9f62d35cf98",
                  "format":{
                     "ldp_vc":{
                        "proof_type":[
                           "Ed25519Signature2018"
                        ]
                     }
                  }
               },
               "presentation_submission":{
                  "id":"c00300d10d25d00b9c7cf985637b88e4da3e2af2d644c74ced677784c30454c6",
                  "definition_id":"c00400f85e0aae79eb62b099a4aab4eb54cc99df6ca444b83a6fb04c580c3380",
                  "descriptor_map":[
                     {
                        "id":"c00400f85e0aae79eb62b099a4aab4eb54cc99df6ca444b83a6fb04c580c3380",
                        "format":"ldp_vp",
                        "path":"$.proof"
                     }
                  ]
               },
               "proof":{
                  "type":"Ed25519Signature2018",
                  "verificationMethod":"did:key:z6Mko2ceHiQqXGm1mzfQKdiGzc1czEBXvvgTpfroBwDjbwMd#z6Mko2ceHiQqXGm1mzfQKdiGzc1czEBXvvgTpfroBwDjbwMd",
                  "created":"2021-05-14T20:16:29.565377",
                  "proofPurpose":"authentication",
                  "challenge":"c13abd0fe67fcd1f3513e32b1ed5ad7c721e598ea0d1b9334ffecaa8e1a2fce6",
                  "jws":"eyJhbGciOiAiRWREU0EiLCAiYjY0IjogZmFsc2UsICJjcml0IjogWyJiNjQiXX0..7M9LwdJR1_SQayHIWVHF5eSSRhbVsrjQHKUrfRhRRrlbuKlggm8mm_4EI_kTPeBpalQWiGiyCb_0OWFPtn2wAQ"
               }
            }
         }
      }
   ]
}

@brianorwhatever
Copy link
Contributor

What I implemented below

{
    "type": "https://didcomm.org/issue-credential/3.0/request-credential",
    "id": "3715e334f7e05a94ec1903df67df5085077934895c6248a798ccc815329283b6",
    "thid": "28eec678f1b860daddc7d775fcfcf15d7310ea692e62e8b6f4518d4c0f35bdb0",
    "from": "did:peer:2.Vz6MknQLpgecyvcdpXSAmiAeMVxLYyFuggVEoNxuXEt5oScMn.Ez6LSo5h8SnuaqSkxkN9fWFM2GQMXcnQkp8C94ttA5GwLRHW1.SeyJpZCI6IiNkaWRjb21tIiwidCI6ImRtIiwicyI6Imh0dHBzOi8vcG9ydGN1bGxpcy4xa2VlcC5jb20vZGlkY29tbSIsInIiOlsiZGlkOndlYjpwb3J0Y3VsbGlzLjFrZWVwLmNvbSJdfQ",
    "to": [
        "did:web:verifiable.ink"
    ],
    "body": {},
    "attachments": [
        {
            "id": "5dac5a119db60503d2b6886b326250070a10694677c21680e925adeecde20a25",
            "media_type": "application/json",
            "format": "dif/credential-manifest/[email protected]",
            "data": {
                "json": {
                    "@context": [
                        "https://www.w3.org/2018/credentials/v1",
                        "https://identity.foundation/credential-manifest/application/v1"
                    ],
                    "id": "e292618e778e6ea221f73000c4667938753bcde65476c1efd27e6654e88bf5f2",
                    "type": [
                        "VerifiablePresentation",
                        "CredentialApplication"
                    ],
                    "credential_application": {
                        "id": "1e185b751474e93dc505ff42b4e83d8c5519f85d95eea4d6b25911fe667fc314",
                        "manifest_id": "b82273315d664fcd72c901f2a80c4fe35f4c78a5b90af670ca2efc19af5d2510",
                        "format": {
                            "ldp_vc": {
                                "proof_type": [
                                    "JsonWebSignature2020"
                                ]
                            }
                        }
                    },
                    "presentation_submission": {
                        "id": "fac0b0706889ef995c29fcb4b9eb8c9ccc35758969ef22ee4a974284e5bfc204",
                        "definition_id": "adb9348af72cc15d36ebfdcfe10001b7a85bf9e606483bae7dcb0b50dbeb070b",
                        "descriptor_map": [
                            {
                                "id": "adb9348af72cc15d36ebfdcfe10001b7a85bf9e606483bae7dcb0b50dbeb070b",
                                "format": "ldp_vp",
                                "path": "$.proof"
                            }
                        ]
                    },
                    "verifiableCredential": [],
                    "proof": {
                        "type": "JsonWebSignature2020",
                        "proofPurpose": "authentication",
                        "verificationMethod": "did:key:C4DFDAStSHdRnhvz1ZP5yTssTki6cVRCPk4535hBB6Yq#C4DFDAStSHdRnhvz1ZP5yTssTki6cVRCPk4535hBB6Yq",
                        "created": "2022-12-14T17:51:27Z",
                        "jws": "eyJiNjQiOmZhbHNlLCJjcml0IjpbImI2NCJdfQ..BYhlydKntcK0UwB2f5EN4j3kLkWIhHKEs2kRjejKPiF2c86YXK96HDH2_ClPQWvjm5nbO4aJSwipGRixLkSfBQ",
                        "challenge": "6980f6339e8baed1fd1f315ed88523f6a181eb5a29236f1667a23a1ca83821ae"
                    }
                }
            }
        }
    ]
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants