116 references to COSEAlgorithmIdentifier
Microsoft.AspNetCore.Identity (41)
Passkeys\CredentialPublicKey.cs (29)
12private readonly COSEAlgorithmIdentifier _alg; 17public COSEAlgorithmIdentifier Alg => _alg; 77private static COSEAlgorithmIdentifier ParseCoseKeyCommonParameters(Ctap2CborReader reader) 80var alg = (COSEAlgorithmIdentifier)reader.ReadInt32(); 172COSEAlgorithmIdentifier.PS256 or 173COSEAlgorithmIdentifier.PS384 or 174COSEAlgorithmIdentifier.PS512 177COSEAlgorithmIdentifier.RS1 or 178COSEAlgorithmIdentifier.RS256 or 179COSEAlgorithmIdentifier.RS384 or 180COSEAlgorithmIdentifier.RS512 187private static HashAlgorithmName HashAlgFromCOSEAlg(COSEAlgorithmIdentifier alg) 191COSEAlgorithmIdentifier.RS1 => HashAlgorithmName.SHA1, 192COSEAlgorithmIdentifier.ES256 => HashAlgorithmName.SHA256, 193COSEAlgorithmIdentifier.ES384 => HashAlgorithmName.SHA384, 194COSEAlgorithmIdentifier.ES512 => HashAlgorithmName.SHA512, 195COSEAlgorithmIdentifier.PS256 => HashAlgorithmName.SHA256, 196COSEAlgorithmIdentifier.PS384 => HashAlgorithmName.SHA384, 197COSEAlgorithmIdentifier.PS512 => HashAlgorithmName.SHA512, 198COSEAlgorithmIdentifier.RS256 => HashAlgorithmName.SHA256, 199COSEAlgorithmIdentifier.RS384 => HashAlgorithmName.SHA384, 200COSEAlgorithmIdentifier.RS512 => HashAlgorithmName.SHA512, 201COSEAlgorithmIdentifier.ES256K => HashAlgorithmName.SHA256, 202(COSEAlgorithmIdentifier)4 => HashAlgorithmName.SHA1, 203(COSEAlgorithmIdentifier)11 => HashAlgorithmName.SHA256, 204(COSEAlgorithmIdentifier)12 => HashAlgorithmName.SHA384, 205(COSEAlgorithmIdentifier)13 => HashAlgorithmName.SHA512, 206COSEAlgorithmIdentifier.EdDSA => HashAlgorithmName.SHA512,
Passkeys\PublicKeyCredentialParameters.cs (12)
15internal readonly struct PublicKeyCredentialParameters(string type, COSEAlgorithmIdentifier alg) 26new(COSEAlgorithmIdentifier.ES256), 27new(COSEAlgorithmIdentifier.PS256), 28new(COSEAlgorithmIdentifier.ES384), 29new(COSEAlgorithmIdentifier.PS384), 30new(COSEAlgorithmIdentifier.PS512), 31new(COSEAlgorithmIdentifier.RS256), 32new(COSEAlgorithmIdentifier.ES512), 33new(COSEAlgorithmIdentifier.RS384), 34new(COSEAlgorithmIdentifier.RS512), 37public PublicKeyCredentialParameters(COSEAlgorithmIdentifier alg) 56public COSEAlgorithmIdentifier Alg { get; } = alg;
Microsoft.AspNetCore.Identity.Test (75)
Passkeys\CredentialKeyPair.cs (39)
15private readonly COSEAlgorithmIdentifier _alg; 19private CredentialKeyPair(RSA rsa, COSEAlgorithmIdentifier alg) 26private CredentialKeyPair(ECDsa ecdsa, COSEAlgorithmIdentifier alg, COSEEllipticCurve curve) 34public static CredentialKeyPair Generate(COSEAlgorithmIdentifier alg) 38COSEAlgorithmIdentifier.RS1 or 39COSEAlgorithmIdentifier.RS256 or 40COSEAlgorithmIdentifier.RS384 or 41COSEAlgorithmIdentifier.RS512 or 42COSEAlgorithmIdentifier.PS256 or 43COSEAlgorithmIdentifier.PS384 or 44COSEAlgorithmIdentifier.PS512 => GenerateRsaKeyPair(alg), 46COSEAlgorithmIdentifier.ES256 => GenerateEcKeyPair(alg, ECCurve.NamedCurves.nistP256, COSEEllipticCurve.P256), 47COSEAlgorithmIdentifier.ES384 => GenerateEcKeyPair(alg, ECCurve.NamedCurves.nistP384, COSEEllipticCurve.P384), 48COSEAlgorithmIdentifier.ES512 => GenerateEcKeyPair(alg, ECCurve.NamedCurves.nistP521, COSEEllipticCurve.P521), 49COSEAlgorithmIdentifier.ES256K => GenerateEcKeyPair(alg, ECCurve.CreateFromFriendlyName("secP256k1"), COSEEllipticCurve.P256K), 89private static CredentialKeyPair GenerateRsaKeyPair(COSEAlgorithmIdentifier alg) 96private static CredentialKeyPair GenerateEcKeyPair(COSEAlgorithmIdentifier alg, ECCurve curve, COSEEllipticCurve coseCurve) 110private static byte[] EncodeCoseRsaPublicKey(RSA rsa, COSEAlgorithmIdentifier alg) 133private static byte[] EncodeCoseEcPublicKey(ECDsa ecdsa, COSEAlgorithmIdentifier alg, COSEEllipticCurve curve) 159private static HashAlgorithmName GetHashAlgorithmFromCoseAlg(COSEAlgorithmIdentifier alg) 163COSEAlgorithmIdentifier.RS1 => HashAlgorithmName.SHA1, 164COSEAlgorithmIdentifier.ES256 => HashAlgorithmName.SHA256, 165COSEAlgorithmIdentifier.ES384 => HashAlgorithmName.SHA384, 166COSEAlgorithmIdentifier.ES512 => HashAlgorithmName.SHA512, 167COSEAlgorithmIdentifier.PS256 => HashAlgorithmName.SHA256, 168COSEAlgorithmIdentifier.PS384 => HashAlgorithmName.SHA384, 169COSEAlgorithmIdentifier.PS512 => HashAlgorithmName.SHA512, 170COSEAlgorithmIdentifier.RS256 => HashAlgorithmName.SHA256, 171COSEAlgorithmIdentifier.RS384 => HashAlgorithmName.SHA384, 172COSEAlgorithmIdentifier.RS512 => HashAlgorithmName.SHA512, 173COSEAlgorithmIdentifier.ES256K => HashAlgorithmName.SHA256, 178private static RSASignaturePadding GetRsaPaddingFromCoseAlg(COSEAlgorithmIdentifier alg) 182COSEAlgorithmIdentifier.PS256 or 183COSEAlgorithmIdentifier.PS384 or 184COSEAlgorithmIdentifier.PS512 => RSASignaturePadding.Pss, 186COSEAlgorithmIdentifier.RS1 or 187COSEAlgorithmIdentifier.RS256 or 188COSEAlgorithmIdentifier.RS384 or 189COSEAlgorithmIdentifier.RS512 => RSASignaturePadding.Pkcs1,
Passkeys\DefaultPasskeyHandlerAssertionTest.cs (12)
909[InlineData((int)COSEAlgorithmIdentifier.PS256)] 910[InlineData((int)COSEAlgorithmIdentifier.PS384)] 911[InlineData((int)COSEAlgorithmIdentifier.PS512)] 912[InlineData((int)COSEAlgorithmIdentifier.RS256)] 913[InlineData((int)COSEAlgorithmIdentifier.RS384)] 914[InlineData((int)COSEAlgorithmIdentifier.RS512)] 915[InlineData((int)COSEAlgorithmIdentifier.ES256)] 916[InlineData((int)COSEAlgorithmIdentifier.ES384)] 917[InlineData((int)COSEAlgorithmIdentifier.ES512)] 922Algorithm = (COSEAlgorithmIdentifier)algorithm, 1197public COSEAlgorithmIdentifier Algorithm { get; set; } = COSEAlgorithmIdentifier.ES256;
Passkeys\DefaultPasskeyHandlerAttestationTest.cs (24)
1045[InlineData((int)COSEAlgorithmIdentifier.PS256)] 1046[InlineData((int)COSEAlgorithmIdentifier.PS384)] 1047[InlineData((int)COSEAlgorithmIdentifier.PS512)] 1048[InlineData((int)COSEAlgorithmIdentifier.RS256)] 1049[InlineData((int)COSEAlgorithmIdentifier.RS384)] 1050[InlineData((int)COSEAlgorithmIdentifier.RS512)] 1051[InlineData((int)COSEAlgorithmIdentifier.ES256)] 1052[InlineData((int)COSEAlgorithmIdentifier.ES384)] 1053[InlineData((int)COSEAlgorithmIdentifier.ES512)] 1058Algorithm = (COSEAlgorithmIdentifier)algorithm, 1063test.SupportedPublicKeyCredentialParameters.Transform(_ => [new((COSEAlgorithmIdentifier)algorithm)]); 1071[InlineData((int)COSEAlgorithmIdentifier.PS256)] 1072[InlineData((int)COSEAlgorithmIdentifier.PS384)] 1073[InlineData((int)COSEAlgorithmIdentifier.PS512)] 1074[InlineData((int)COSEAlgorithmIdentifier.RS256)] 1075[InlineData((int)COSEAlgorithmIdentifier.RS384)] 1076[InlineData((int)COSEAlgorithmIdentifier.RS512)] 1077[InlineData((int)COSEAlgorithmIdentifier.ES256)] 1078[InlineData((int)COSEAlgorithmIdentifier.ES384)] 1079[InlineData((int)COSEAlgorithmIdentifier.ES512)] 1084Algorithm = (COSEAlgorithmIdentifier)algorithm, 1089return [.. parameters.Where(p => p.Alg != (COSEAlgorithmIdentifier)algorithm)]; 1183public COSEAlgorithmIdentifier Algorithm { get; set; } = COSEAlgorithmIdentifier.ES256;