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\libraries\Common\src\System\Security\Cryptography\CompositeMLDsaAlgorithm.cs (36)
56new("MLDSA44-RSA2048-PSS-SHA256", MLDsaAlgorithm.MLDsa44, 2048 / 8, Oids.MLDsa44WithRSA2048PssPreHashSha256);
65new("MLDSA44-RSA2048-PKCS15-SHA256", MLDsaAlgorithm.MLDsa44, 2048 / 8, Oids.MLDsa44WithRSA2048Pkcs15PreHashSha256);
74new("MLDSA44-Ed25519-SHA512", MLDsaAlgorithm.MLDsa44, 64, Oids.MLDsa44WithEd25519PreHashSha512);
83new("MLDSA44-ECDSA-P256-SHA256", MLDsaAlgorithm.MLDsa44, AsymmetricAlgorithmHelpers.GetMaxDerSignatureSize(256), Oids.MLDsa44WithECDsaP256PreHashSha256);
92new("MLDSA65-RSA3072-PSS-SHA512", MLDsaAlgorithm.MLDsa65, 3072 / 8, Oids.MLDsa65WithRSA3072PssPreHashSha512);
101new("MLDSA65-RSA3072-PKCS15-SHA512", MLDsaAlgorithm.MLDsa65, 3072 / 8, Oids.MLDsa65WithRSA3072Pkcs15PreHashSha512);
110new("MLDSA65-RSA4096-PSS-SHA512", MLDsaAlgorithm.MLDsa65, 4096 / 8, Oids.MLDsa65WithRSA4096PssPreHashSha512);
119new("MLDSA65-RSA4096-PKCS15-SHA512", MLDsaAlgorithm.MLDsa65, 4096 / 8, Oids.MLDsa65WithRSA4096Pkcs15PreHashSha512);
128new("MLDSA65-ECDSA-P256-SHA512", MLDsaAlgorithm.MLDsa65, AsymmetricAlgorithmHelpers.GetMaxDerSignatureSize(256), Oids.MLDsa65WithECDsaP256PreHashSha512);
137new("MLDSA65-ECDSA-P384-SHA512", MLDsaAlgorithm.MLDsa65, AsymmetricAlgorithmHelpers.GetMaxDerSignatureSize(384), Oids.MLDsa65WithECDsaP384PreHashSha512);
146new("MLDSA65-ECDSA-brainpoolP256r1-SHA512", MLDsaAlgorithm.MLDsa65, AsymmetricAlgorithmHelpers.GetMaxDerSignatureSize(256), Oids.MLDsa65WithECDsaBrainpoolP256r1PreHashSha512);
155new("MLDSA65-Ed25519-SHA512", MLDsaAlgorithm.MLDsa65, 64, Oids.MLDsa65WithEd25519PreHashSha512);
164new("MLDSA87-ECDSA-P384-SHA512", MLDsaAlgorithm.MLDsa87, AsymmetricAlgorithmHelpers.GetMaxDerSignatureSize(384), Oids.MLDsa87WithECDsaP384PreHashSha512);
173new("MLDSA87-ECDSA-brainpoolP384r1-SHA512", MLDsaAlgorithm.MLDsa87, AsymmetricAlgorithmHelpers.GetMaxDerSignatureSize(384), Oids.MLDsa87WithECDsaBrainpoolP384r1PreHashSha512);
182new("MLDSA87-Ed448-SHAKE256", MLDsaAlgorithm.MLDsa87, 114, Oids.MLDsa87WithEd448PreHashShake256_512);
191new("MLDSA87-RSA3072-PSS-SHA512", MLDsaAlgorithm.MLDsa87, 3072 / 8, Oids.MLDsa87WithRSA3072PssPreHashSha512);
200new("MLDSA87-RSA4096-PSS-SHA512", MLDsaAlgorithm.MLDsa87, 4096 / 8, Oids.MLDsa87WithRSA4096PssPreHashSha512);
209new("MLDSA87-ECDSA-P521-SHA512", MLDsaAlgorithm.MLDsa87, AsymmetricAlgorithmHelpers.GetMaxDerSignatureSize(521), Oids.MLDsa87WithECDsaP521PreHashSha512);
270Oids.MLDsa44WithRSA2048PssPreHashSha256 => MLDsa44WithRSA2048Pss,
271Oids.MLDsa44WithRSA2048Pkcs15PreHashSha256 => MLDsa44WithRSA2048Pkcs15,
272Oids.MLDsa44WithEd25519PreHashSha512 => MLDsa44WithEd25519,
273Oids.MLDsa44WithECDsaP256PreHashSha256 => MLDsa44WithECDsaP256,
274Oids.MLDsa65WithRSA3072PssPreHashSha512 => MLDsa65WithRSA3072Pss,
275Oids.MLDsa65WithRSA3072Pkcs15PreHashSha512 => MLDsa65WithRSA3072Pkcs15,
276Oids.MLDsa65WithRSA4096PssPreHashSha512 => MLDsa65WithRSA4096Pss,
277Oids.MLDsa65WithRSA4096Pkcs15PreHashSha512 => MLDsa65WithRSA4096Pkcs15,
278Oids.MLDsa65WithECDsaP256PreHashSha512 => MLDsa65WithECDsaP256,
279Oids.MLDsa65WithECDsaP384PreHashSha512 => MLDsa65WithECDsaP384,
280Oids.MLDsa65WithECDsaBrainpoolP256r1PreHashSha512 => MLDsa65WithECDsaBrainpoolP256r1,
281Oids.MLDsa65WithEd25519PreHashSha512 => MLDsa65WithEd25519,
282Oids.MLDsa87WithECDsaP384PreHashSha512 => MLDsa87WithECDsaP384,
283Oids.MLDsa87WithECDsaBrainpoolP384r1PreHashSha512 => MLDsa87WithECDsaBrainpoolP384r1,
284Oids.MLDsa87WithEd448PreHashShake256_512 => MLDsa87WithEd448,
285Oids.MLDsa87WithRSA3072PssPreHashSha512 => MLDsa87WithRSA3072Pss,
286Oids.MLDsa87WithRSA4096PssPreHashSha512 => MLDsa87WithRSA4096Pss,
287Oids.MLDsa87WithECDsaP521PreHashSha512 => MLDsa87WithECDsaP521,
src\libraries\Common\src\System\Security\Cryptography\MLDsaAlgorithm.cs (6)
94public static MLDsaAlgorithm MLDsa44 { get; } = new MLDsaAlgorithm("ML-DSA-44", 2560, 1312, 2420, Oids.MLDsa44);
102public static MLDsaAlgorithm MLDsa65 { get; } = new MLDsaAlgorithm("ML-DSA-65", 4032, 1952, 3309, Oids.MLDsa65);
110public static MLDsaAlgorithm MLDsa87 { get; } = new MLDsaAlgorithm("ML-DSA-87", 4896, 2592, 4627, Oids.MLDsa87);
116Oids.MLDsa44 => MLDsa44,
117Oids.MLDsa65 => MLDsa65,
118Oids.MLDsa87 => MLDsa87,
src\libraries\Common\src\System\Security\Cryptography\MLKemAlgorithm.cs (6)
39public static MLKemAlgorithm MLKem512 { get; } = new("ML-KEM-512", 800, 1632, 768, Oids.MlKem512);
47public static MLKemAlgorithm MLKem768 { get; } = new("ML-KEM-768", 1184, 2400, 1088, Oids.MlKem768);
55public static MLKemAlgorithm MLKem1024 { get; } = new("ML-KEM-1024", 1568, 3168, 1568, Oids.MlKem1024);
170Oids.MlKem512 => MLKem512,
171Oids.MlKem768 => MLKem768,
172Oids.MlKem1024 => MLKem1024,
src\libraries\Common\src\System\Security\Cryptography\SlhDsa.cs (22)
32Oids.SlhDsaSha2_128s,
33Oids.SlhDsaShake128s,
34Oids.SlhDsaSha2_128f,
35Oids.SlhDsaShake128f,
36Oids.SlhDsaSha2_192s,
37Oids.SlhDsaShake192s,
38Oids.SlhDsaSha2_192f,
39Oids.SlhDsaShake192f,
40Oids.SlhDsaSha2_256s,
41Oids.SlhDsaShake256s,
42Oids.SlhDsaSha2_256f,
43Oids.SlhDsaShake256f,
2002Oids.Md5 => 128 / 8,
2003Oids.Sha1 => 160 / 8,
2004Oids.Sha256 => 256 / 8,
2005Oids.Sha384 => 384 / 8,
2006Oids.Sha512 => 512 / 8,
2007Oids.Sha3_256 => 256 / 8,
2008Oids.Sha3_384 => 384 / 8,
2009Oids.Sha3_512 => 512 / 8,
2010Oids.Shake128 => 256 / 8,
2011Oids.Shake256 => 512 / 8,
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\X500NameEncoder.cs (43)
596{ Oids.KnowledgeInformation, EncodingRules.DirectoryString },
597{ Oids.CommonName, EncodingRules.DirectoryString },
598{ Oids.Surname, EncodingRules.DirectoryString },
599{ Oids.SerialNumber, EncodingRules.PrintableString },
600{ Oids.CountryOrRegionName, EncodingRules.PrintableString },
601{ Oids.LocalityName, EncodingRules.DirectoryString },
602{ Oids.StateOrProvinceName, EncodingRules.DirectoryString },
603{ Oids.StreetAddress, EncodingRules.DirectoryString },
604{ Oids.Organization, EncodingRules.DirectoryString },
605{ Oids.OrganizationalUnit, EncodingRules.DirectoryString },
606{ Oids.Title, EncodingRules.DirectoryString },
607{ Oids.Description, EncodingRules.DirectoryString },
608{ Oids.BusinessCategory, EncodingRules.DirectoryString },
609{ Oids.PostalCode, EncodingRules.DirectoryString },
610{ Oids.PostOfficeBox, EncodingRules.DirectoryString },
611{ Oids.PhysicalDeliveryOfficeName, EncodingRules.DirectoryString },
612{ Oids.TelephoneNumber, EncodingRules.PrintableString },
613{ Oids.X121Address, EncodingRules.NumericString },
614{ Oids.InternationalISDNNumber, EncodingRules.NumericString },
615{ Oids.DestinationIndicator, EncodingRules.PrintableString },
616{ Oids.Name, EncodingRules.DirectoryString },
617{ Oids.GivenName, EncodingRules.DirectoryString },
618{ Oids.Initials, EncodingRules.DirectoryString },
619{ Oids.GenerationQualifier, EncodingRules.DirectoryString },
620{ Oids.DnQualifier, EncodingRules.PrintableString },
621{ Oids.HouseIdentifier, EncodingRules.DirectoryString },
622{ Oids.DmdName, EncodingRules.DirectoryString },
623{ Oids.Pseudonym, EncodingRules.DirectoryString },
624{ Oids.UiiInUrn, EncodingRules.UTF8String },
625{ Oids.ContentUrl, EncodingRules.UTF8String },
626{ Oids.Uri, EncodingRules.UTF8String },
627{ Oids.Urn, EncodingRules.UTF8String },
628{ Oids.Url, EncodingRules.UTF8String },
629{ Oids.UrnC, EncodingRules.PrintableString },
630{ Oids.EpcInUrn, EncodingRules.DirectoryString },
631{ Oids.LdapUrl, EncodingRules.UTF8String },
632{ Oids.OrganizationIdentifier, EncodingRules.DirectoryString },
633{ Oids.CountryOrRegionName3C, EncodingRules.PrintableString },
634{ Oids.CountryOrRegionName3N, EncodingRules.NumericString },
635{ Oids.DnsName, EncodingRules.UTF8String },
636{ Oids.IntEmail, EncodingRules.UTF8String },
637{ Oids.JabberId, EncodingRules.UTF8String },
638{ Oids.EmailAddress, EncodingRules.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 (35)
281Oids.Rsa => Pal.GetRSAPrivateKey(),
282Oids.Dsa => Pal.GetDSAPrivateKey(),
1257Oids.Rsa => ExtractKeyFromPem<RSA>(
1262Oids.Dsa when Helpers.IsDSASupported => ExtractKeyFromPem<DSA>(
1267Oids.EcPublicKey when IsECDiffieHellman(certificate) =>
1273Oids.EcPublicKey when IsECDsa(certificate) =>
1279Oids.MlKem512 or Oids.MlKem768 or Oids.MlKem1024 =>
1285Oids.MLDsa44 or Oids.MLDsa65 or Oids.MLDsa87 =>
1354Oids.Rsa =>
1360Oids.Dsa when Helpers.IsDSASupported =>
1366Oids.EcPublicKey when IsECDiffieHellman(certificate) =>
1372Oids.EcPublicKey when IsECDsa(certificate) =>
1378Oids.MlKem512 or Oids.MlKem768 or Oids.MlKem1024 =>
1384Oids.MLDsa44 or Oids.MLDsa65 or Oids.MLDsa87 =>
1643if (extension.Oid!.Value == Oids.SubjectAltName)
1757Oid? type = Oids.GetSharedOrNullOid(ref attributeTypeAndValue);
1759if (Oids.CommonNameOid.ValueEquals(type))
1765else if (Oids.CommonNameOid.ValueEquals(rdn.GetSingleElementType()))
1871Oids.BasicConstraints => LegacyBasicConstraintsDecoder.IsSupported ? new X509BasicConstraintsExtension() : null,
1872Oids.BasicConstraints2 => new X509BasicConstraintsExtension(),
1873Oids.KeyUsage => new X509KeyUsageExtension(),
1874Oids.EnhancedKeyUsage => new X509EnhancedKeyUsageExtension(),
1875Oids.SubjectKeyIdentifier => new X509SubjectKeyIdentifierExtension(),
1876Oids.AuthorityKeyIdentifier => new X509AuthorityKeyIdentifierExtension(),
1877Oids.AuthorityInformationAccess => new X509AuthorityInformationAccessExtension(),
1878Oids.SubjectAltName => new X509SubjectAlternativeNameExtension(),
1886if (extension.Oid?.Value == Oids.KeyUsage && extension is X509KeyUsageExtension ext)
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)