Skip to content

Commit aaf1b92

Browse files
authored
Set JWT.alg to PS256 with PssPadding. (#3789)
1 parent c1095ae commit aaf1b92

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

src/Sdk/WebApi/WebApi/Jwt/JsonWebToken.cs

+5-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,10 @@ public enum JWTAlgorithm
2525
HS256,
2626

2727
[EnumMember]
28-
RS256
28+
RS256,
29+
30+
[EnumMember]
31+
PS256,
2932
}
3033

3134
//JsonWebToken is marked as DataContract so
@@ -286,6 +289,7 @@ private static byte[] GetSignature(JWTHeader header, JWTPayload payload, JWTAlgo
286289
{
287290
case JWTAlgorithm.HS256:
288291
case JWTAlgorithm.RS256:
292+
case JWTAlgorithm.PS256:
289293
return signingCredentials.SignData(bytes);
290294

291295
default:

src/Sdk/WebApi/WebApi/VssSigningCredentials.cs

+15
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,21 @@ public override Int32 KeySize
166166
}
167167
}
168168

169+
public override JWTAlgorithm SignatureAlgorithm
170+
{
171+
get
172+
{
173+
if (m_signaturePadding == RSASignaturePadding.Pss)
174+
{
175+
return JWTAlgorithm.PS256;
176+
}
177+
else
178+
{
179+
return base.SignatureAlgorithm;
180+
}
181+
}
182+
}
183+
169184
protected override Byte[] GetSignature(Byte[] input)
170185
{
171186
using (var rsa = m_factory())

0 commit comments

Comments
 (0)