Skip to content

Commit 2d2d8c3

Browse files
brentzundeldlongleyTallTedmsporny
committed
Add interoperable way for holder-asserted claims in a VP.
* Add section on holder-derived creds in VP. * Soften requirement for 'type', clarify two methods for VC. * Add paragraph clarifying subjects of self-asserted VCs. * Update title for holder-asserted example. * Modify example 2 with Joe's language. Co-authored-by: Dave Longley <[email protected]> Co-authored-by: Ted Thibodeau Jr <[email protected]> Co-authored-by: Manu Sporny <[email protected]>
1 parent a60bb4a commit 2d2d8c3

File tree

1 file changed

+95
-0
lines changed

1 file changed

+95
-0
lines changed

index.html

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2085,6 +2085,101 @@ <h4>Presentations Using Derived Credentials</h4>
20852085
</figcaption>
20862086
</figure>
20872087
</section>
2088+
<section>
2089+
<h4>Presentations Including Holder Claims</h4>
2090+
<p>
2091+
A <a>holder</a> MAY use the <code>verifiableCredential</code> <a>property</a> in
2092+
a <a>verifiable presentation</a> to include <a>verifiable credentials</a> from
2093+
any <a>issuer</a>, including themselves. When the <a>issuer</a> of a
2094+
<a>verifiable credential</a> is the <a>holder</a>, the <a>claims</a> in that
2095+
<a>verifiable credential</a> are considered to be <em>self-asserted</em>.
2096+
Such self-asserted claims can be secured by the same mechanism that secures
2097+
the <a>verifiable presentation</a> in which they are included or by any
2098+
mechanism usable for other <a>verifiable credentials</a>.
2099+
</p>
2100+
<p>
2101+
The <a>subject(s)</a> of these self-asserted <a>claims</a> are not limited, so
2102+
these <a>claims</a> can include statements about the <a>holder</a>, one of the
2103+
other included <a>verifiable credentials</a>, or even the <a>verifiable
2104+
presentation</a> in which the self-asserted <a>verifiable credential</a> is
2105+
included. In each case, the <code>id</code> <a>property</a>
2106+
is used to identify the specific <a>subject</a>, in the object where the
2107+
<a>claims</a> about it are made, just as it is done in
2108+
<a>verifiable credentials</a> that are not self-asserted.
2109+
</p>
2110+
<p>
2111+
A <a>verifiable presentation</a> that includes a self-asserted
2112+
<a>verifiable credential</a> that is only secured using the same mechanism as
2113+
the <a>verifiable presentation</a> MUST include a <code>holder</code>
2114+
<a>property</a>.
2115+
</p>
2116+
<p>
2117+
All of the normative requirements defined for <a>verifiable credentials</a>
2118+
apply to self-asserted <a>verifiable credentials</a>.
2119+
</p>
2120+
<p>
2121+
When a self-asserted <a>verifiable credential</a> is secured using the same
2122+
mechanism as the <a>verifiable presentation</a>, the value of the
2123+
<code>issuer</code> <a>property</a> of the <a>verifiable credential</a>
2124+
MUST be identical to the <code>holder</code> <a>property</a> of the
2125+
<a>verifiable presentation</a>.
2126+
</p>
2127+
<p>
2128+
The example below shows a <a>verifiable presentation</a> that embeds a
2129+
self-asserted <a>verifiable credential</a> that is secured using the same
2130+
mechanism as the <a>verifiable presentation</a>.
2131+
</p>
2132+
2133+
<pre class="example nohighlight" title="A verifiable presentation, secured with an embedded proof, with a self-asserted verifiable credential">
2134+
{
2135+
"@context": [
2136+
"https://www.w3.org/ns/credentials/v2",
2137+
"https://www.w3.org/ns/credentials/examples/v2"
2138+
],
2139+
"type": ["VerifiablePresentation", "ExamplePresentation"],
2140+
"holder": "did:example:12345678",
2141+
"verifiableCredential": [{
2142+
"@context": "https://www.w3.org/ns/credentials/v2",
2143+
"type": ["VerifiableCredential", "ExampleFoodPreferenceCredential"],
2144+
"issuer": "did:example:12345678",
2145+
"credentialSubject": {
2146+
"favoriteCheese": "Gouda"
2147+
},
2148+
{ <span class="comment">...</span> }
2149+
}],
2150+
"proof": [{ <span class="comment">...</span> }]</span>
2151+
}
2152+
</pre>
2153+
<p>
2154+
The example below shows a <a>verifiable presentation</a> that embeds a
2155+
self-asserted <a>verifiable credential</a> that holds <a>claims</a> about the
2156+
<a>verifiable presentation</a>. It is secured using the same mechanism as the
2157+
<a>verifiable presentation</a>.
2158+
</p>
2159+
2160+
<pre class="example nohighlight" title="A verifiable presentation, secured with an embedded proof, with a self-asserted verifiable credential about the verifiable presentation">
2161+
{
2162+
"@context": [
2163+
"https://www.w3.org/ns/credentials/v2",
2164+
"https://www.w3.org/ns/credentials/examples/v2"
2165+
],
2166+
"type": ["VerifiablePresentation", "ExamplePresentation"],
2167+
<span class="highlight">"id": "urn:uuid:313801ba-24b7-11ee-be02-ff560265cf9b"</span>,
2168+
"holder": "did:example:12345678",
2169+
"verifiableCredential": [{
2170+
"@context": "https://www.w3.org/ns/credentials/v2",
2171+
"type": ["VerifiableCredential", "ExampleAssertCredential"],
2172+
"issuer": "did:example:12345678",
2173+
"credentialSubject": {
2174+
<span class="highlight">"id": "urn:uuid:313801ba-24b7-11ee-be02-ff560265cf9b"</span>,
2175+
"assertion": "This VP is submitted by the subject as evidence of a legal right to drive"
2176+
},
2177+
{ <span class="comment">...</span> }
2178+
}],
2179+
"proof": [{ <span class="comment">...</span> }]</span>
2180+
}
2181+
</pre>
2182+
</section>
20882183
</section>
20892184
</section>
20902185

0 commit comments

Comments
 (0)