src\runtime\src\libraries\Common\src\System\Security\Cryptography\CompositeMLDsa.cs (18)
30Oids.MLDsa44WithRSA2048PssPreHashSha256,
31Oids.MLDsa44WithRSA2048Pkcs15PreHashSha256,
32Oids.MLDsa44WithEd25519PreHashSha512,
33Oids.MLDsa44WithECDsaP256PreHashSha256,
34Oids.MLDsa65WithRSA3072PssPreHashSha512,
35Oids.MLDsa65WithRSA3072Pkcs15PreHashSha512,
36Oids.MLDsa65WithRSA4096PssPreHashSha512,
37Oids.MLDsa65WithRSA4096Pkcs15PreHashSha512,
38Oids.MLDsa65WithECDsaP256PreHashSha512,
39Oids.MLDsa65WithECDsaP384PreHashSha512,
40Oids.MLDsa65WithECDsaBrainpoolP256r1PreHashSha512,
41Oids.MLDsa65WithEd25519PreHashSha512,
42Oids.MLDsa87WithECDsaP384PreHashSha512,
43Oids.MLDsa87WithECDsaBrainpoolP384r1PreHashSha512,
44Oids.MLDsa87WithEd448PreHashShake256_512,
45Oids.MLDsa87WithRSA3072PssPreHashSha512,
46Oids.MLDsa87WithRSA4096PssPreHashSha512,
47Oids.MLDsa87WithECDsaP521PreHashSha512,
src\runtime\src\libraries\Common\src\System\Security\Cryptography\CompositeMLDsaAlgorithm.cs (43)
78Oids.MLDsa44WithRSA2048PssPreHashSha256);
91Oids.MLDsa44WithRSA2048Pkcs15PreHashSha256);
104Oids.MLDsa44WithEd25519PreHashSha512);
117Oids.MLDsa44WithECDsaP256PreHashSha256);
130Oids.MLDsa65WithRSA3072PssPreHashSha512);
143Oids.MLDsa65WithRSA3072Pkcs15PreHashSha512);
156Oids.MLDsa65WithRSA4096PssPreHashSha512);
169Oids.MLDsa65WithRSA4096Pkcs15PreHashSha512);
182Oids.MLDsa65WithECDsaP256PreHashSha512);
195Oids.MLDsa65WithECDsaP384PreHashSha512);
208Oids.MLDsa65WithECDsaBrainpoolP256r1PreHashSha512);
221Oids.MLDsa65WithEd25519PreHashSha512);
234Oids.MLDsa87WithECDsaP384PreHashSha512);
247Oids.MLDsa87WithECDsaBrainpoolP384r1PreHashSha512);
260Oids.MLDsa87WithEd448PreHashShake256_512);
273Oids.MLDsa87WithRSA3072PssPreHashSha512);
286Oids.MLDsa87WithRSA4096PssPreHashSha512);
299Oids.MLDsa87WithECDsaP521PreHashSha512);
360Oids.MLDsa44WithRSA2048PssPreHashSha256 => MLDsa44WithRSA2048Pss,
361Oids.MLDsa44WithRSA2048Pkcs15PreHashSha256 => MLDsa44WithRSA2048Pkcs15,
362Oids.MLDsa44WithEd25519PreHashSha512 => MLDsa44WithEd25519,
363Oids.MLDsa44WithECDsaP256PreHashSha256 => MLDsa44WithECDsaP256,
364Oids.MLDsa65WithRSA3072PssPreHashSha512 => MLDsa65WithRSA3072Pss,
365Oids.MLDsa65WithRSA3072Pkcs15PreHashSha512 => MLDsa65WithRSA3072Pkcs15,
366Oids.MLDsa65WithRSA4096PssPreHashSha512 => MLDsa65WithRSA4096Pss,
367Oids.MLDsa65WithRSA4096Pkcs15PreHashSha512 => MLDsa65WithRSA4096Pkcs15,
368Oids.MLDsa65WithECDsaP256PreHashSha512 => MLDsa65WithECDsaP256,
369Oids.MLDsa65WithECDsaP384PreHashSha512 => MLDsa65WithECDsaP384,
370Oids.MLDsa65WithECDsaBrainpoolP256r1PreHashSha512 => MLDsa65WithECDsaBrainpoolP256r1,
371Oids.MLDsa65WithEd25519PreHashSha512 => MLDsa65WithEd25519,
372Oids.MLDsa87WithECDsaP384PreHashSha512 => MLDsa87WithECDsaP384,
373Oids.MLDsa87WithECDsaBrainpoolP384r1PreHashSha512 => MLDsa87WithECDsaBrainpoolP384r1,
374Oids.MLDsa87WithEd448PreHashShake256_512 => MLDsa87WithEd448,
375Oids.MLDsa87WithRSA3072PssPreHashSha512 => MLDsa87WithRSA3072Pss,
376Oids.MLDsa87WithRSA4096PssPreHashSha512 => MLDsa87WithRSA4096Pss,
377Oids.MLDsa87WithECDsaP521PreHashSha512 => MLDsa87WithECDsaP521,
495Oids.MLDsa44WithECDsaP256PreHashSha256 or
496Oids.MLDsa65WithECDsaP256PreHashSha512 =>
500Oids.MLDsa65WithECDsaP384PreHashSha512 or
501Oids.MLDsa87WithECDsaP384PreHashSha512 =>
505Oids.MLDsa87WithECDsaP521PreHashSha512 =>
509Oids.MLDsa65WithECDsaBrainpoolP256r1PreHashSha512 =>
513Oids.MLDsa87WithECDsaBrainpoolP384r1PreHashSha512 =>
src\runtime\src\libraries\Common\src\System\Security\Cryptography\CompositeMLKem.cs (12)
30Oids.MLKem768WithRsaOaep2048Sha3_256,
31Oids.MLKem768WithRsaOaep3072Sha3_256,
32Oids.MLKem768WithRsaOaep4096Sha3_256,
33Oids.MLKem768WithX25519Sha3_256,
34Oids.MLKem768WithECDiffieHellmanP256Sha3_256,
35Oids.MLKem768WithECDiffieHellmanP384Sha3_256,
36Oids.MLKem768WithECDiffieHellmanBrainpoolP256r1Sha3_256,
37Oids.MLKem1024WithRsaOaep3072Sha3_256,
38Oids.MLKem1024WithECDiffieHellmanP384Sha3_256,
39Oids.MLKem1024WithECDiffieHellmanBrainpoolP384r1Sha3_256,
40Oids.MLKem1024WithX448Sha3_256,
41Oids.MLKem1024WithECDiffieHellmanP521Sha3_256,
src\runtime\src\libraries\Common\src\System\Security\Cryptography\CompositeMLKemAlgorithm.cs (42)
88Oids.MLKem768WithRsaOaep2048Sha3_256);
101Oids.MLKem768WithRsaOaep3072Sha3_256);
114Oids.MLKem768WithRsaOaep4096Sha3_256);
127Oids.MLKem768WithX25519Sha3_256);
140Oids.MLKem768WithECDiffieHellmanP256Sha3_256);
153Oids.MLKem768WithECDiffieHellmanP384Sha3_256);
166Oids.MLKem768WithECDiffieHellmanBrainpoolP256r1Sha3_256);
179Oids.MLKem1024WithRsaOaep3072Sha3_256);
192Oids.MLKem1024WithECDiffieHellmanP384Sha3_256);
205Oids.MLKem1024WithECDiffieHellmanBrainpoolP384r1Sha3_256);
218Oids.MLKem1024WithX448Sha3_256);
231Oids.MLKem1024WithECDiffieHellmanP521Sha3_256);
292Oids.MLKem768WithRsaOaep2048Sha3_256 => MLKem768WithRsaOaep2048,
293Oids.MLKem768WithRsaOaep3072Sha3_256 => MLKem768WithRsaOaep3072,
294Oids.MLKem768WithRsaOaep4096Sha3_256 => MLKem768WithRsaOaep4096,
295Oids.MLKem768WithX25519Sha3_256 => MLKem768WithX25519,
296Oids.MLKem768WithECDiffieHellmanP256Sha3_256 => MLKem768WithECDiffieHellmanP256,
297Oids.MLKem768WithECDiffieHellmanP384Sha3_256 => MLKem768WithECDiffieHellmanP384,
298Oids.MLKem768WithECDiffieHellmanBrainpoolP256r1Sha3_256 => MLKem768WithECDiffieHellmanBrainpoolP256r1,
299Oids.MLKem1024WithRsaOaep3072Sha3_256 => MLKem1024WithRsaOaep3072,
300Oids.MLKem1024WithECDiffieHellmanP384Sha3_256 => MLKem1024WithECDiffieHellmanP384,
301Oids.MLKem1024WithECDiffieHellmanBrainpoolP384r1Sha3_256 => MLKem1024WithECDiffieHellmanBrainpoolP384r1,
302Oids.MLKem1024WithX448Sha3_256 => MLKem1024WithX448,
303Oids.MLKem1024WithECDiffieHellmanP521Sha3_256 => MLKem1024WithECDiffieHellmanP521,
432Oids.MLKem768WithECDiffieHellmanP256Sha3_256 =>
434Oids.MLKem768WithECDiffieHellmanP384Sha3_256 or
435Oids.MLKem1024WithECDiffieHellmanP384Sha3_256 =>
437Oids.MLKem1024WithECDiffieHellmanP521Sha3_256 =>
439Oids.MLKem768WithECDiffieHellmanBrainpoolP256r1Sha3_256 =>
441Oids.MLKem1024WithECDiffieHellmanBrainpoolP384r1Sha3_256 =>
502Oids.MLKem768WithECDiffieHellmanP256Sha3_256 or
503Oids.MLKem768WithECDiffieHellmanBrainpoolP256r1Sha3_256 =>
505Oids.MLKem768WithECDiffieHellmanP384Sha3_256 or
506Oids.MLKem1024WithECDiffieHellmanP384Sha3_256 or
507Oids.MLKem1024WithECDiffieHellmanBrainpoolP384r1Sha3_256 =>
509Oids.MLKem1024WithECDiffieHellmanP521Sha3_256 =>
522Oids.MLKem768WithECDiffieHellmanP256Sha3_256 =>
526Oids.MLKem768WithECDiffieHellmanP384Sha3_256 or
527Oids.MLKem1024WithECDiffieHellmanP384Sha3_256 =>
531Oids.MLKem1024WithECDiffieHellmanP521Sha3_256 =>
535Oids.MLKem768WithECDiffieHellmanBrainpoolP256r1Sha3_256 =>
539Oids.MLKem1024WithECDiffieHellmanBrainpoolP384r1Sha3_256 =>
src\runtime\src\libraries\Common\src\System\Security\Cryptography\Helpers.cs (14)
121Oids.Md5 => 128 / 8,
122Oids.Sha1 => 160 / 8,
123Oids.Sha256 => 256 / 8,
124Oids.Sha384 => 384 / 8,
125Oids.Sha512 => 512 / 8,
126Oids.Sha3_256 => 256 / 8,
127Oids.Sha3_384 => 384 / 8,
128Oids.Sha3_512 => 512 / 8,
129Oids.Shake128 => 256 / 8,
130Oids.Shake256 => 512 / 8,
197Oids.Rsa or
198Oids.RsaPss or
199Oids.EcPublicKey or
200Oids.Dsa => true,
src\runtime\src\libraries\Common\src\System\Security\Cryptography\MLDsaAlgorithm.cs (6)
91public static MLDsaAlgorithm MLDsa44 { get; } = new MLDsaAlgorithm("ML-DSA-44", 2560, 1312, 2420, 128, Oids.MLDsa44);
99public static MLDsaAlgorithm MLDsa65 { get; } = new MLDsaAlgorithm("ML-DSA-65", 4032, 1952, 3309, 192, Oids.MLDsa65);
107public static MLDsaAlgorithm MLDsa87 { get; } = new MLDsaAlgorithm("ML-DSA-87", 4896, 2592, 4627, 256, Oids.MLDsa87);
113Oids.MLDsa44 => MLDsa44,
114Oids.MLDsa65 => MLDsa65,
115Oids.MLDsa87 => MLDsa87,
src\runtime\src\libraries\Common\src\System\Security\Cryptography\MLKemAlgorithm.cs (6)
38public static MLKemAlgorithm MLKem512 { get; } = new("ML-KEM-512", 800, 1632, 768, Oids.MlKem512);
46public static MLKemAlgorithm MLKem768 { get; } = new("ML-KEM-768", 1184, 2400, 1088, Oids.MlKem768);
54public static MLKemAlgorithm MLKem1024 { get; } = new("ML-KEM-1024", 1568, 3168, 1568, Oids.MlKem1024);
169Oids.MlKem512 => MLKem512,
170Oids.MlKem768 => MLKem768,
171Oids.MlKem1024 => MLKem1024,
src\runtime\src\libraries\Common\src\System\Security\Cryptography\SlhDsa.cs (12)
37Oids.SlhDsaSha2_128s,
38Oids.SlhDsaShake128s,
39Oids.SlhDsaSha2_128f,
40Oids.SlhDsaShake128f,
41Oids.SlhDsaSha2_192s,
42Oids.SlhDsaShake192s,
43Oids.SlhDsaSha2_192f,
44Oids.SlhDsaShake192f,
45Oids.SlhDsaSha2_256s,
46Oids.SlhDsaShake256s,
47Oids.SlhDsaSha2_256f,
48Oids.SlhDsaShake256f,
src\runtime\src\libraries\Common\src\System\Security\Cryptography\SlhDsaAlgorithm.cs (24)
93public static SlhDsaAlgorithm SlhDsaSha2_128s { get; } = new SlhDsaAlgorithm("SLH-DSA-SHA2-128s", 16, 7856, Oids.SlhDsaSha2_128s);
101public static SlhDsaAlgorithm SlhDsaShake128s { get; } = new SlhDsaAlgorithm("SLH-DSA-SHAKE-128s", 16, 7856, Oids.SlhDsaShake128s);
109public static SlhDsaAlgorithm SlhDsaSha2_128f { get; } = new SlhDsaAlgorithm("SLH-DSA-SHA2-128f", 16, 17088, Oids.SlhDsaSha2_128f);
117public static SlhDsaAlgorithm SlhDsaShake128f { get; } = new SlhDsaAlgorithm("SLH-DSA-SHAKE-128f", 16, 17088, Oids.SlhDsaShake128f);
125public static SlhDsaAlgorithm SlhDsaSha2_192s { get; } = new SlhDsaAlgorithm("SLH-DSA-SHA2-192s", 24, 16224, Oids.SlhDsaSha2_192s);
133public static SlhDsaAlgorithm SlhDsaShake192s { get; } = new SlhDsaAlgorithm("SLH-DSA-SHAKE-192s", 24, 16224, Oids.SlhDsaShake192s);
141public static SlhDsaAlgorithm SlhDsaSha2_192f { get; } = new SlhDsaAlgorithm("SLH-DSA-SHA2-192f", 24, 35664, Oids.SlhDsaSha2_192f);
149public static SlhDsaAlgorithm SlhDsaShake192f { get; } = new SlhDsaAlgorithm("SLH-DSA-SHAKE-192f", 24, 35664, Oids.SlhDsaShake192f);
157public static SlhDsaAlgorithm SlhDsaSha2_256s { get; } = new SlhDsaAlgorithm("SLH-DSA-SHA2-256s", 32, 29792, Oids.SlhDsaSha2_256s);
165public static SlhDsaAlgorithm SlhDsaShake256s { get; } = new SlhDsaAlgorithm("SLH-DSA-SHAKE-256s", 32, 29792, Oids.SlhDsaShake256s);
173public static SlhDsaAlgorithm SlhDsaSha2_256f { get; } = new SlhDsaAlgorithm("SLH-DSA-SHA2-256f", 32, 49856, Oids.SlhDsaSha2_256f);
181public static SlhDsaAlgorithm SlhDsaShake256f { get; } = new SlhDsaAlgorithm("SLH-DSA-SHAKE-256f", 32, 49856, Oids.SlhDsaShake256f);
187Oids.SlhDsaSha2_128s => SlhDsaSha2_128s,
188Oids.SlhDsaShake128s => SlhDsaShake128s,
189Oids.SlhDsaSha2_128f => SlhDsaSha2_128f,
190Oids.SlhDsaShake128f => SlhDsaShake128f,
191Oids.SlhDsaSha2_192s => SlhDsaSha2_192s,
192Oids.SlhDsaShake192s => SlhDsaShake192s,
193Oids.SlhDsaSha2_192f => SlhDsaSha2_192f,
194Oids.SlhDsaShake192f => SlhDsaShake192f,
195Oids.SlhDsaSha2_256s => SlhDsaSha2_256s,
196Oids.SlhDsaShake256s => SlhDsaShake256s,
197Oids.SlhDsaSha2_256f => SlhDsaSha2_256f,
198Oids.SlhDsaShake256f => SlhDsaShake256f,
System\Security\Cryptography\X509Certificates\X500DistinguishedNameBuilder.cs (8)
140EncodeComponent(Oids.EmailAddress, emailAddress, UniversalTagNumber.IA5String);
163EncodeComponent(Oids.CommonName, commonName, UniversalTagNumber.UTF8String);
186EncodeComponent(Oids.LocalityName, localityName, UniversalTagNumber.UTF8String);
234Oids.CountryOrRegionName,
260EncodeComponent(Oids.Organization, organizationName, UniversalTagNumber.UTF8String);
283EncodeComponent(Oids.OrganizationalUnit, organizationalUnitName, UniversalTagNumber.UTF8String);
306EncodeComponent(Oids.StateOrProvinceName, stateOrProvinceName, UniversalTagNumber.UTF8String);
332EncodeComponent(Oids.DomainComponent, domainComponent, UniversalTagNumber.IA5String);
System\Security\Cryptography\X509Certificates\X509AuthorityInformationAccessExtension.cs (8)
23: base(Oids.AuthorityInformationAccessOid)
46: base(Oids.AuthorityInformationAccessOid, rawData, critical)
66: base(Oids.AuthorityInformationAccessOid, rawData, critical)
98: base(Oids.AuthorityInformationAccessOid, Encode(ocspUris, caIssuersUris), critical, skipCopy: true)
216return EnumerateUris(Oids.CertificateAuthorityIssuers);
233return EnumerateUris(Oids.OcspEndpoint);
312WriteAccessMethod(writer, Oids.OcspEndpoint, uri);
321WriteAccessMethod(writer, Oids.CertificateAuthorityIssuers, uri);
System\Security\Cryptography\X509Certificates\X509Certificate2.cs (36)
281Oids.Rsa => Pal.GetRSAPrivateKey(),
282Oids.Dsa => Pal.GetDSAPrivateKey(),
1467Oids.Rsa => ExtractKeyFromPem<RSA>(
1472Oids.Dsa when Helpers.IsDSASupported => ExtractKeyFromPem<DSA>(
1477Oids.EcPublicKey => ExtractKeyFromECPem(certificate, keyPem),
1478Oids.MlKem512 or Oids.MlKem768 or Oids.MlKem1024 =>
1484Oids.MLDsa44 or Oids.MLDsa65 or Oids.MLDsa87 =>
1553Oids.Rsa =>
1559Oids.Dsa when Helpers.IsDSASupported =>
1565Oids.EcPublicKey => ExtractKeyFromEncryptedECPem(certificate, keyPem, password),
1566Oids.MlKem512 or Oids.MlKem768 or Oids.MlKem1024 =>
1572Oids.MLDsa44 or Oids.MLDsa65 or Oids.MLDsa87 =>
1831if (extension.Oid!.Value == Oids.SubjectAltName)
1945Oid? type = Oids.GetSharedOrNullOid(ref attributeTypeAndValue);
1947if (Oids.CommonNameOid.ValueEquals(type))
1953else if (Oids.CommonNameOid.ValueEquals(rdn.GetSingleElementType()))
2067Oids.BasicConstraints => LegacyBasicConstraintsDecoder.IsSupported ? new X509BasicConstraintsExtension() : null,
2068Oids.BasicConstraints2 => new X509BasicConstraintsExtension(),
2069Oids.KeyUsage => new X509KeyUsageExtension(),
2070Oids.EnhancedKeyUsage => new X509EnhancedKeyUsageExtension(),
2071Oids.SubjectKeyIdentifier => new X509SubjectKeyIdentifierExtension(),
2072Oids.AuthorityKeyIdentifier => new X509AuthorityKeyIdentifierExtension(),
2073Oids.AuthorityInformationAccess => new X509AuthorityInformationAccessExtension(),
2074Oids.SubjectAltName => new X509SubjectAlternativeNameExtension(),
2082if (extension.Oid?.Value == Oids.KeyUsage && extension is X509KeyUsageExtension ext)
2101Debug.Assert(certificate.GetKeyAlgorithm() == Oids.EcPublicKey);
2165Debug.Assert(certificate.GetKeyAlgorithm() == Oids.EcPublicKey);
2310if (attr.AttrType != Oids.KeyUsage)
System\Security\Cryptography\X509Certificates\X509SubjectKeyIdentifierExtension.cs (5)
17: base(Oids.SubjectKeyIdentifierOid)
23: base(Oids.SubjectKeyIdentifierOid, encodedSubjectKeyIdentifier.RawData, critical)
33: base(Oids.SubjectKeyIdentifierOid, EncodeExtension(subjectKeyIdentifier), critical, skipCopy: true)
43: base(Oids.SubjectKeyIdentifierOid, EncodeExtension(key, algorithm), critical, skipCopy: true)
48: base(Oids.SubjectKeyIdentifierOid, EncodeExtension(subjectKeyIdentifier), critical, skipCopy: true)