123 references to COSEAlgorithmIdentifier
Microsoft.AspNetCore.Identity (50)
PasskeyHandler.cs (1)
295
var
algorithm = attestedCredentialData.CredentialPublicKey.Alg;
Passkeys\CredentialPublicKey.cs (48)
12
private readonly
COSEAlgorithmIdentifier
_alg;
17
public
COSEAlgorithmIdentifier
Alg => _alg;
28
new() { Type = "public-key", Alg =
COSEAlgorithmIdentifier
.ES256 },
29
new() { Type = "public-key", Alg =
COSEAlgorithmIdentifier
.PS256 },
30
new() { Type = "public-key", Alg =
COSEAlgorithmIdentifier
.ES384 },
31
new() { Type = "public-key", Alg =
COSEAlgorithmIdentifier
.PS384 },
32
new() { Type = "public-key", Alg =
COSEAlgorithmIdentifier
.PS512 },
33
new() { Type = "public-key", Alg =
COSEAlgorithmIdentifier
.RS256 },
34
new() { Type = "public-key", Alg =
COSEAlgorithmIdentifier
.ES512 },
35
new() { Type = "public-key", Alg =
COSEAlgorithmIdentifier
.RS384 },
36
new() { Type = "public-key", Alg =
COSEAlgorithmIdentifier
.RS512 },
43
internal static bool IsSupportedAlgorithm(
COSEAlgorithmIdentifier
alg)
47
COSEAlgorithmIdentifier
.ES256 or
48
COSEAlgorithmIdentifier
.PS256 or
49
COSEAlgorithmIdentifier
.ES384 or
50
COSEAlgorithmIdentifier
.PS384 or
51
COSEAlgorithmIdentifier
.PS512 or
52
COSEAlgorithmIdentifier
.RS256 or
53
COSEAlgorithmIdentifier
.ES512 or
54
COSEAlgorithmIdentifier
.RS384 or
55
COSEAlgorithmIdentifier
.RS512 => true,
117
private static
COSEAlgorithmIdentifier
ParseCoseKeyCommonParameters(Ctap2CborReader reader)
120
var
alg = (
COSEAlgorithmIdentifier
)reader.ReadInt32();
212
COSEAlgorithmIdentifier
.PS256 or
213
COSEAlgorithmIdentifier
.PS384 or
214
COSEAlgorithmIdentifier
.PS512
217
COSEAlgorithmIdentifier
.RS1 or
218
COSEAlgorithmIdentifier
.RS256 or
219
COSEAlgorithmIdentifier
.RS384 or
220
COSEAlgorithmIdentifier
.RS512
227
private static HashAlgorithmName HashAlgFromCOSEAlg(
COSEAlgorithmIdentifier
alg)
231
COSEAlgorithmIdentifier
.RS1 => HashAlgorithmName.SHA1,
232
COSEAlgorithmIdentifier
.ES256 => HashAlgorithmName.SHA256,
233
COSEAlgorithmIdentifier
.ES384 => HashAlgorithmName.SHA384,
234
COSEAlgorithmIdentifier
.ES512 => HashAlgorithmName.SHA512,
235
COSEAlgorithmIdentifier
.PS256 => HashAlgorithmName.SHA256,
236
COSEAlgorithmIdentifier
.PS384 => HashAlgorithmName.SHA384,
237
COSEAlgorithmIdentifier
.PS512 => HashAlgorithmName.SHA512,
238
COSEAlgorithmIdentifier
.RS256 => HashAlgorithmName.SHA256,
239
COSEAlgorithmIdentifier
.RS384 => HashAlgorithmName.SHA384,
240
COSEAlgorithmIdentifier
.RS512 => HashAlgorithmName.SHA512,
241
COSEAlgorithmIdentifier
.ES256K => HashAlgorithmName.SHA256,
242
(
COSEAlgorithmIdentifier
)4 => HashAlgorithmName.SHA1,
243
(
COSEAlgorithmIdentifier
)11 => HashAlgorithmName.SHA256,
244
(
COSEAlgorithmIdentifier
)12 => HashAlgorithmName.SHA384,
245
(
COSEAlgorithmIdentifier
)13 => HashAlgorithmName.SHA512,
246
COSEAlgorithmIdentifier
.EdDSA => HashAlgorithmName.SHA512,
Passkeys\PublicKeyCredentialParameters.cs (1)
29
public required
COSEAlgorithmIdentifier
Alg { get; init; }
Microsoft.AspNetCore.Identity.Test (73)
Passkeys\CredentialKeyPair.cs (39)
15
private readonly
COSEAlgorithmIdentifier
_alg;
19
private CredentialKeyPair(RSA rsa,
COSEAlgorithmIdentifier
alg)
26
private CredentialKeyPair(ECDsa ecdsa,
COSEAlgorithmIdentifier
alg, COSEEllipticCurve curve)
34
public static CredentialKeyPair Generate(
COSEAlgorithmIdentifier
alg)
38
COSEAlgorithmIdentifier
.RS1 or
39
COSEAlgorithmIdentifier
.RS256 or
40
COSEAlgorithmIdentifier
.RS384 or
41
COSEAlgorithmIdentifier
.RS512 or
42
COSEAlgorithmIdentifier
.PS256 or
43
COSEAlgorithmIdentifier
.PS384 or
44
COSEAlgorithmIdentifier
.PS512 => GenerateRsaKeyPair(alg),
46
COSEAlgorithmIdentifier
.ES256 => GenerateEcKeyPair(alg, ECCurve.NamedCurves.nistP256, COSEEllipticCurve.P256),
47
COSEAlgorithmIdentifier
.ES384 => GenerateEcKeyPair(alg, ECCurve.NamedCurves.nistP384, COSEEllipticCurve.P384),
48
COSEAlgorithmIdentifier
.ES512 => GenerateEcKeyPair(alg, ECCurve.NamedCurves.nistP521, COSEEllipticCurve.P521),
49
COSEAlgorithmIdentifier
.ES256K => GenerateEcKeyPair(alg, ECCurve.CreateFromFriendlyName("secP256k1"), COSEEllipticCurve.P256K),
89
private static CredentialKeyPair GenerateRsaKeyPair(
COSEAlgorithmIdentifier
alg)
96
private static CredentialKeyPair GenerateEcKeyPair(
COSEAlgorithmIdentifier
alg, ECCurve curve, COSEEllipticCurve coseCurve)
110
private static byte[] EncodeCoseRsaPublicKey(RSA rsa,
COSEAlgorithmIdentifier
alg)
133
private static byte[] EncodeCoseEcPublicKey(ECDsa ecdsa,
COSEAlgorithmIdentifier
alg, COSEEllipticCurve curve)
159
private static HashAlgorithmName GetHashAlgorithmFromCoseAlg(
COSEAlgorithmIdentifier
alg)
163
COSEAlgorithmIdentifier
.RS1 => HashAlgorithmName.SHA1,
164
COSEAlgorithmIdentifier
.ES256 => HashAlgorithmName.SHA256,
165
COSEAlgorithmIdentifier
.ES384 => HashAlgorithmName.SHA384,
166
COSEAlgorithmIdentifier
.ES512 => HashAlgorithmName.SHA512,
167
COSEAlgorithmIdentifier
.PS256 => HashAlgorithmName.SHA256,
168
COSEAlgorithmIdentifier
.PS384 => HashAlgorithmName.SHA384,
169
COSEAlgorithmIdentifier
.PS512 => HashAlgorithmName.SHA512,
170
COSEAlgorithmIdentifier
.RS256 => HashAlgorithmName.SHA256,
171
COSEAlgorithmIdentifier
.RS384 => HashAlgorithmName.SHA384,
172
COSEAlgorithmIdentifier
.RS512 => HashAlgorithmName.SHA512,
173
COSEAlgorithmIdentifier
.ES256K => HashAlgorithmName.SHA256,
178
private static RSASignaturePadding GetRsaPaddingFromCoseAlg(
COSEAlgorithmIdentifier
alg)
182
COSEAlgorithmIdentifier
.PS256 or
183
COSEAlgorithmIdentifier
.PS384 or
184
COSEAlgorithmIdentifier
.PS512 => RSASignaturePadding.Pss,
186
COSEAlgorithmIdentifier
.RS1 or
187
COSEAlgorithmIdentifier
.RS256 or
188
COSEAlgorithmIdentifier
.RS384 or
189
COSEAlgorithmIdentifier
.RS512 => RSASignaturePadding.Pkcs1,
Passkeys\PasskeyHandlerAssertionTest.cs (12)
878
[InlineData((int)
COSEAlgorithmIdentifier
.PS256)]
879
[InlineData((int)
COSEAlgorithmIdentifier
.PS384)]
880
[InlineData((int)
COSEAlgorithmIdentifier
.PS512)]
881
[InlineData((int)
COSEAlgorithmIdentifier
.RS256)]
882
[InlineData((int)
COSEAlgorithmIdentifier
.RS384)]
883
[InlineData((int)
COSEAlgorithmIdentifier
.RS512)]
884
[InlineData((int)
COSEAlgorithmIdentifier
.ES256)]
885
[InlineData((int)
COSEAlgorithmIdentifier
.ES384)]
886
[InlineData((int)
COSEAlgorithmIdentifier
.ES512)]
891
Algorithm = (
COSEAlgorithmIdentifier
)algorithm,
994
public
COSEAlgorithmIdentifier
Algorithm { get; set; } =
COSEAlgorithmIdentifier
.ES256;
Passkeys\PasskeyHandlerAttestationTest.cs (22)
862
[InlineData((int)
COSEAlgorithmIdentifier
.PS256)]
863
[InlineData((int)
COSEAlgorithmIdentifier
.PS384)]
864
[InlineData((int)
COSEAlgorithmIdentifier
.PS512)]
865
[InlineData((int)
COSEAlgorithmIdentifier
.RS256)]
866
[InlineData((int)
COSEAlgorithmIdentifier
.RS384)]
867
[InlineData((int)
COSEAlgorithmIdentifier
.RS512)]
868
[InlineData((int)
COSEAlgorithmIdentifier
.ES256)]
869
[InlineData((int)
COSEAlgorithmIdentifier
.ES384)]
870
[InlineData((int)
COSEAlgorithmIdentifier
.ES512)]
875
Algorithm = (
COSEAlgorithmIdentifier
)algorithm,
885
[InlineData((int)
COSEAlgorithmIdentifier
.PS256)]
886
[InlineData((int)
COSEAlgorithmIdentifier
.PS384)]
887
[InlineData((int)
COSEAlgorithmIdentifier
.PS512)]
888
[InlineData((int)
COSEAlgorithmIdentifier
.RS256)]
889
[InlineData((int)
COSEAlgorithmIdentifier
.RS384)]
890
[InlineData((int)
COSEAlgorithmIdentifier
.RS512)]
891
[InlineData((int)
COSEAlgorithmIdentifier
.ES256)]
892
[InlineData((int)
COSEAlgorithmIdentifier
.ES384)]
893
[InlineData((int)
COSEAlgorithmIdentifier
.ES512)]
898
Algorithm = (
COSEAlgorithmIdentifier
)algorithm,
987
public
COSEAlgorithmIdentifier
Algorithm { get; set; } =
COSEAlgorithmIdentifier
.ES256;