123 references to COSEAlgorithmIdentifier
Microsoft.AspNetCore.Identity (50)
PasskeyHandler.cs (1)
295var algorithm = attestedCredentialData.CredentialPublicKey.Alg;
Passkeys\CredentialPublicKey.cs (48)
12private readonly COSEAlgorithmIdentifier _alg; 17public COSEAlgorithmIdentifier Alg => _alg; 28new() { Type = "public-key", Alg = COSEAlgorithmIdentifier.ES256 }, 29new() { Type = "public-key", Alg = COSEAlgorithmIdentifier.PS256 }, 30new() { Type = "public-key", Alg = COSEAlgorithmIdentifier.ES384 }, 31new() { Type = "public-key", Alg = COSEAlgorithmIdentifier.PS384 }, 32new() { Type = "public-key", Alg = COSEAlgorithmIdentifier.PS512 }, 33new() { Type = "public-key", Alg = COSEAlgorithmIdentifier.RS256 }, 34new() { Type = "public-key", Alg = COSEAlgorithmIdentifier.ES512 }, 35new() { Type = "public-key", Alg = COSEAlgorithmIdentifier.RS384 }, 36new() { Type = "public-key", Alg = COSEAlgorithmIdentifier.RS512 }, 43internal static bool IsSupportedAlgorithm(COSEAlgorithmIdentifier alg) 47COSEAlgorithmIdentifier.ES256 or 48COSEAlgorithmIdentifier.PS256 or 49COSEAlgorithmIdentifier.ES384 or 50COSEAlgorithmIdentifier.PS384 or 51COSEAlgorithmIdentifier.PS512 or 52COSEAlgorithmIdentifier.RS256 or 53COSEAlgorithmIdentifier.ES512 or 54COSEAlgorithmIdentifier.RS384 or 55COSEAlgorithmIdentifier.RS512 => true, 117private static COSEAlgorithmIdentifier ParseCoseKeyCommonParameters(Ctap2CborReader reader) 120var alg = (COSEAlgorithmIdentifier)reader.ReadInt32(); 212COSEAlgorithmIdentifier.PS256 or 213COSEAlgorithmIdentifier.PS384 or 214COSEAlgorithmIdentifier.PS512 217COSEAlgorithmIdentifier.RS1 or 218COSEAlgorithmIdentifier.RS256 or 219COSEAlgorithmIdentifier.RS384 or 220COSEAlgorithmIdentifier.RS512 227private static HashAlgorithmName HashAlgFromCOSEAlg(COSEAlgorithmIdentifier alg) 231COSEAlgorithmIdentifier.RS1 => HashAlgorithmName.SHA1, 232COSEAlgorithmIdentifier.ES256 => HashAlgorithmName.SHA256, 233COSEAlgorithmIdentifier.ES384 => HashAlgorithmName.SHA384, 234COSEAlgorithmIdentifier.ES512 => HashAlgorithmName.SHA512, 235COSEAlgorithmIdentifier.PS256 => HashAlgorithmName.SHA256, 236COSEAlgorithmIdentifier.PS384 => HashAlgorithmName.SHA384, 237COSEAlgorithmIdentifier.PS512 => HashAlgorithmName.SHA512, 238COSEAlgorithmIdentifier.RS256 => HashAlgorithmName.SHA256, 239COSEAlgorithmIdentifier.RS384 => HashAlgorithmName.SHA384, 240COSEAlgorithmIdentifier.RS512 => HashAlgorithmName.SHA512, 241COSEAlgorithmIdentifier.ES256K => HashAlgorithmName.SHA256, 242(COSEAlgorithmIdentifier)4 => HashAlgorithmName.SHA1, 243(COSEAlgorithmIdentifier)11 => HashAlgorithmName.SHA256, 244(COSEAlgorithmIdentifier)12 => HashAlgorithmName.SHA384, 245(COSEAlgorithmIdentifier)13 => HashAlgorithmName.SHA512, 246COSEAlgorithmIdentifier.EdDSA => HashAlgorithmName.SHA512,
Passkeys\PublicKeyCredentialParameters.cs (1)
29public required COSEAlgorithmIdentifier Alg { get; init; }
Microsoft.AspNetCore.Identity.Test (73)
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\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)] 891Algorithm = (COSEAlgorithmIdentifier)algorithm, 994public 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)] 875Algorithm = (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)] 898Algorithm = (COSEAlgorithmIdentifier)algorithm, 987public COSEAlgorithmIdentifier Algorithm { get; set; } = COSEAlgorithmIdentifier.ES256;