Skip to content

Commit 1276afa

Browse files
authored
Remove issuer name from sdjwt record (#159)
* remove obsolete issuer name from sd-jwt record Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id> * fix tests Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id> --------- Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id>
1 parent ae51469 commit 1276afa

File tree

5 files changed

+2
-27
lines changed

5 files changed

+2
-27
lines changed

src/WalletFramework.Oid4Vc/Oid4Vci/Implementations/SdJwtRecordExtensions.cs

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -60,19 +60,11 @@ public static SdJwtRecord ToRecord(
6060
};
6161
})
6262
.ToList();
63-
64-
var issuerName = issuerMetadata
65-
.Display
66-
.ToNullable()?
67-
.ToDictionary(
68-
issuerDisplay => issuerDisplay.Locale.ToNullable()?.ToString(),
69-
issuerDisplay => issuerDisplay.Name.ToNullable()?.ToString());
7063

7164
var record = new SdJwtRecord(
7265
sdJwtDoc,
7366
claims!,
7467
display!,
75-
issuerName!,
7668
keyId);
7769

7870
return record;

src/WalletFramework.SdJwtVc/Models/Records/SdJwtRecord.cs

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,6 @@ public sealed class SdJwtRecord : RecordBase, ICredential
3333
/// </summary>
3434
public Dictionary<string, string> Claims { get; set; }
3535

36-
/// <summary>
37-
/// Gets or sets the name of the issuer in different languages.
38-
/// </summary>
39-
public Dictionary<string, string>? IssuerName { get; set; }
40-
4136
/// <summary>
4237
/// Gets the disclosures.
4338
/// </summary>
@@ -110,7 +105,6 @@ public SdJwtRecord()
110105
/// </summary>
111106
/// <param name="displayedAttributes">The attributes that should be displayed.</param>
112107
/// <param name="claims">The claims made.</param>
113-
/// <param name="issuerName">The name of the issuer in different languages.</param>
114108
/// <param name="disclosures">The disclosures.</param>
115109
/// <param name="display">The display of the credential.</param>
116110
/// <param name="issuerId"></param>
@@ -119,7 +113,6 @@ public SdJwtRecord()
119113
public SdJwtRecord(
120114
Dictionary<string, ClaimMetadata> displayedAttributes,
121115
Dictionary<string, string> claims,
122-
Dictionary<string, string> issuerName,
123116
ImmutableArray<string> disclosures,
124117
List<SdJwtDisplay> display,
125118
string issuerId,
@@ -132,8 +125,6 @@ public SdJwtRecord(
132125
DisplayedAttributes = displayedAttributes;
133126

134127
EncodedIssuerSignedJwt = encodedIssuerSignedJwt;
135-
136-
IssuerName = issuerName;
137128

138129
IssuerId = issuerId;
139130
}
@@ -142,7 +133,6 @@ public SdJwtRecord(
142133
string serializedSdJwtWithDisclosures,
143134
Dictionary<string, ClaimMetadata> displayedAttributes,
144135
List<SdJwtDisplay> display,
145-
Dictionary<string, string> issuerName,
146136
KeyId keyId)
147137
{
148138
Id = Guid.NewGuid().ToString();
@@ -154,8 +144,6 @@ public SdJwtRecord(
154144
Display = display;
155145
DisplayedAttributes = displayedAttributes;
156146

157-
IssuerName = issuerName;
158-
159147
KeyId = keyId;
160148
IssuerId = sdJwtDoc.UnsecuredPayload.SelectToken("iss")?.Value<string>()
161149
?? throw new ArgumentNullException(nameof(IssuerId), "iss claim is missing or null");
@@ -167,7 +155,6 @@ public SdJwtRecord(
167155
SdJwtDoc sdJwtDoc,
168156
Dictionary<string, ClaimMetadata> displayedAttributes,
169157
List<SdJwtDisplay> display,
170-
Dictionary<string, string> issuerName,
171158
KeyId keyId)
172159
{
173160
Id = Guid.NewGuid().ToString();
@@ -178,8 +165,6 @@ public SdJwtRecord(
178165
Display = display;
179166
DisplayedAttributes = displayedAttributes;
180167

181-
IssuerName = issuerName;
182-
183168
KeyId = keyId;
184169
IssuerId = sdJwtDoc.UnsecuredPayload.SelectToken("iss")?.Value<string>()
185170
?? throw new ArgumentNullException(nameof(IssuerId), "iss claim is missing or null");

test/WalletFramework.Oid4Vc.Tests/PresentationExchange/Services/PexServiceTests.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -279,8 +279,7 @@ private static SdJwtRecord CreateCredential(JObject payload)
279279
var record = new SdJwtRecord(
280280
issuedSdJwt.IssuanceFormat,
281281
new Dictionary<string, ClaimMetadata>(),
282-
new List<SdJwtDisplay>(),
283-
new Dictionary<string, string>(),
282+
new List<SdJwtDisplay>(),
284283
keyId);
285284

286285
return record;

test/WalletFramework.SdJwtVc.Tests/SdJwtRecordTests.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ public void CanCreateSdJwtRecord()
1818
encodedSdJwt,
1919
new Dictionary<string, ClaimMetadata>(),
2020
new List<SdJwtDisplay>(),
21-
new Dictionary<string, string>(),
2221
keyId);
2322

2423
record.Claims.Count.Should().Be(10);

test/WalletFramework.SdJwtVc.Tests/SdJwtVcHolderServiceTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public async Task Can_Create_Presentation_For_Example_4A()
3131
const string issuedSdJwt = "eyJhbGciOiAiRVMyNTYiLCAidHlwIjogInZjK3NkLWp3dCJ9.eyJfc2QiOiBbIjBIWm1uU0lQejMzN2tTV2U3QzM0bC0tODhnekppLWVCSjJWel9ISndBVGciLCAiOVpicGxDN1RkRVc3cWFsNkJCWmxNdHFKZG1lRU9pWGV2ZEpsb1hWSmRSUSIsICJJMDBmY0ZVb0RYQ3VjcDV5eTJ1anFQc3NEVkdhV05pVWxpTnpfYXdEMGdjIiwgIklFQllTSkdOaFhJbHJRbzU4eWtYbTJaeDN5bGw5WmxUdFRvUG8xN1FRaVkiLCAiTGFpNklVNmQ3R1FhZ1hSN0F2R1RyblhnU2xkM3o4RUlnX2Z2M2ZPWjFXZyIsICJodkRYaHdtR2NKUXNCQ0EyT3RqdUxBY3dBTXBEc2FVMG5rb3ZjS09xV05FIiwgImlrdXVyOFE0azhxM1ZjeUE3ZEMtbU5qWkJrUmVEVFUtQ0c0bmlURTdPVFUiLCAicXZ6TkxqMnZoOW80U0VYT2ZNaVlEdXZUeWtkc1dDTmcwd1RkbHIwQUVJTSIsICJ3elcxNWJoQ2t2a3N4VnZ1SjhSRjN4aThpNjRsbjFqb183NkJDMm9hMXVnIiwgInpPZUJYaHh2SVM0WnptUWNMbHhLdUVBT0dHQnlqT3FhMXoySW9WeF9ZRFEiXSwgImlzcyI6ICJodHRwczovL2lzc3Vlci5leGFtcGxlLmNvbSIsICJpYXQiOiAxNjgzMDAwMDAwLCAiZXhwIjogMTg4MzAwMDAwMCwgInZjdCI6ICJodHRwczovL2JtaS5idW5kLmV4YW1wbGUvY3JlZGVudGlhbC9waWQvMS4wIiwgImFnZV9lcXVhbF9vcl9vdmVyIjogeyJfc2QiOiBbIkZjOElfMDdMT2NnUHdyREpLUXlJR085N3dWc09wbE1Makh2UkM0UjQtV2ciLCAiWEx0TGphZFVXYzl6Tl85aE1KUm9xeTQ2VXNDS2IxSXNoWnV1cVVGS1NDQSIsICJhb0NDenNDN3A0cWhaSUFoX2lkUkNTQ2E2NDF1eWNuYzh6UGZOV3o4bngwIiwgImYxLVAwQTJkS1dhdnYxdUZuTVgyQTctRVh4dmhveHY1YUhodUVJTi1XNjQiLCAiazVoeTJyMDE4dnJzSmpvLVZqZDZnNnl0N0Fhb25Lb25uaXVKOXplbDNqbyIsICJxcDdaX0t5MVlpcDBzWWdETzN6VnVnMk1GdVBOakh4a3NCRG5KWjRhSS1jIl19LCAiX3NkX2FsZyI6ICJzaGEtMjU2IiwgImNuZiI6IHsiandrIjogeyJrdHkiOiAiRUMiLCAiY3J2IjogIlAtMjU2IiwgIngiOiAiVENBRVIxOVp2dTNPSEY0ajRXNHZmU1ZvSElQMUlMaWxEbHM3dkNlR2VtYyIsICJ5IjogIlp4amlXV2JaTVFHSFZXS1ZRNGhiU0lpcnNWZnVlY0NFNnQ0alQ5RjJIWlEifX19.jeF9GjGbjCr0NND0SbkV4HeSpsysixALFScJl4bYkIykXhF6cRtqni64_d7X6Ef8Rx80rfsgXe0H7TdiSoIJOw~WyIyR0xDNDJzS1F2ZUNmR2ZyeU5STjl3IiwgImdpdmVuX25hbWUiLCAiRXJpa2EiXQ~WyJlbHVWNU9nM2dTTklJOEVZbnN4QV9BIiwgImZhbWlseV9uYW1lIiwgIk11c3Rlcm1hbm4iXQ~WyI2SWo3dE0tYTVpVlBHYm9TNXRtdlZBIiwgImJpcnRoZGF0ZSIsICIxOTYzLTA4LTEyIl0~WyJlSThaV205UW5LUHBOUGVOZW5IZGhRIiwgInNvdXJjZV9kb2N1bWVudF90eXBlIiwgImlkX2NhcmQiXQ~WyJRZ19PNjR6cUF4ZTQxMmExMDhpcm9BIiwgInN0cmVldF9hZGRyZXNzIiwgIkhlaWRlc3RyYVx1MDBkZmUgMTciXQ~WyJBSngtMDk1VlBycFR0TjRRTU9xUk9BIiwgImxvY2FsaXR5IiwgIktcdTAwZjZsbiJd~WyJQYzMzSk0yTGNoY1VfbEhnZ3ZfdWZRIiwgInBvc3RhbF9jb2RlIiwgIjUxMTQ3Il0~WyJHMDJOU3JRZmpGWFE3SW8wOXN5YWpBIiwgImNvdW50cnkiLCAiREUiXQ~WyJsa2x4RjVqTVlsR1RQVW92TU5JdkNBIiwgImFkZHJlc3MiLCB7Il9zZCI6IFsiWEZjN3pYUG03enpWZE15d20yRXVCZmxrYTVISHF2ZjhVcF9zek5HcXZpZyIsICJiZDFFVnpnTm9wVWs0RVczX2VRMm4zX05VNGl1WE9IdjlYYkdITjNnMVRFIiwgImZfRlFZZ3ZRV3Z5VnFObklYc0FSbE55ZTdZR3A4RTc3Z1JBamFxLXd2bnciLCAidjRra2JfcFAxamx2VWJTanR5YzVicWNXeUEtaThYTHZoVllZN1pUMHRiMCJdfV0~WyJuUHVvUW5rUkZxM0JJZUFtN0FuWEZBIiwgIm5hdGlvbmFsaXRpZXMiLCBbIkRFIl1d~WyI1YlBzMUlxdVpOYTBoa2FGenp6Wk53IiwgImdlbmRlciIsICJmZW1hbGUiXQ~WyI1YTJXMF9OcmxFWnpmcW1rXzdQcS13IiwgImJpcnRoX2ZhbWlseV9uYW1lIiwgIkdhYmxlciJd~WyJ5MXNWVTV3ZGZKYWhWZGd3UGdTN1JRIiwgImxvY2FsaXR5IiwgIkJlcmxpbiJd~WyJIYlE0WDhzclZXM1FEeG5JSmRxeU9BIiwgInBsYWNlX29mX2JpcnRoIiwgeyJfc2QiOiBbIldwaEhvSUR5b1diQXBEQzR6YnV3UjQweGwweExoRENfY3Y0dHNTNzFyRUEiXSwgImNvdW50cnkiOiAiREUifV0~WyJDOUdTb3VqdmlKcXVFZ1lmb2pDYjFBIiwgImFsc29fa25vd25fYXMiLCAiU2Nod2VzdGVyIEFnbmVzIl0~WyJreDVrRjE3Vi14MEptd1V4OXZndnR3IiwgIjEyIiwgdHJ1ZV0~WyJIM28xdXN3UDc2MEZpMnllR2RWQ0VRIiwgIjE0IiwgdHJ1ZV0~WyJPQktsVFZsdkxnLUFkd3FZR2JQOFpBIiwgIjE2IiwgdHJ1ZV0~WyJNMEpiNTd0NDF1YnJrU3V5ckRUM3hBIiwgIjE4IiwgdHJ1ZV0~WyJEc210S05ncFY0ZEFIcGpyY2Fvc0F3IiwgIjIxIiwgdHJ1ZV0~WyJlSzVvNXBIZmd1cFBwbHRqMXFoQUp3IiwgIjY1IiwgZmFsc2Vd~";
3232
// Arrange
3333
var keyId = KeyId.CreateKeyId();
34-
var sdJwtRecord = new SdJwtRecord(issuedSdJwt, new Dictionary<string, ClaimMetadata>(), new List<SdJwtDisplay>(), new Dictionary<string, string>(), keyId);
34+
var sdJwtRecord = new SdJwtRecord(issuedSdJwt, new Dictionary<string, ClaimMetadata>(), new List<SdJwtDisplay>(), keyId);
3535
var claimsToDisclose = new[] { "given_name", "address.street_address", "nationalities[0]" };
3636

3737
// Act

0 commit comments

Comments
 (0)