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 (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\libraries\Common\src\System\Security\Cryptography\Helpers.cs (14)
120Oids.Md5 => 128 / 8,
121Oids.Sha1 => 160 / 8,
122Oids.Sha256 => 256 / 8,
123Oids.Sha384 => 384 / 8,
124Oids.Sha512 => 512 / 8,
125Oids.Sha3_256 => 256 / 8,
126Oids.Sha3_384 => 384 / 8,
127Oids.Sha3_512 => 512 / 8,
128Oids.Shake128 => 256 / 8,
129Oids.Shake256 => 512 / 8,
196Oids.Rsa or
197Oids.RsaPss or
198Oids.EcPublicKey or
199Oids.Dsa => true,
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\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\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\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 (36)
281Oids.Rsa => Pal.GetRSAPrivateKey(),
282Oids.Dsa => Pal.GetDSAPrivateKey(),
1371Oids.Rsa => ExtractKeyFromPem<RSA>(
1376Oids.Dsa when Helpers.IsDSASupported => ExtractKeyFromPem<DSA>(
1381Oids.EcPublicKey => ExtractKeyFromECPem(certificate, keyPem),
1382Oids.MlKem512 or Oids.MlKem768 or Oids.MlKem1024 =>
1388Oids.MLDsa44 or Oids.MLDsa65 or Oids.MLDsa87 =>
1457Oids.Rsa =>
1463Oids.Dsa when Helpers.IsDSASupported =>
1469Oids.EcPublicKey => ExtractKeyFromEncryptedECPem(certificate, keyPem, password),
1470Oids.MlKem512 or Oids.MlKem768 or Oids.MlKem1024 =>
1476Oids.MLDsa44 or Oids.MLDsa65 or Oids.MLDsa87 =>
1735if (extension.Oid!.Value == Oids.SubjectAltName)
1849Oid? type = Oids.GetSharedOrNullOid(ref attributeTypeAndValue);
1851if (Oids.CommonNameOid.ValueEquals(type))
1857else if (Oids.CommonNameOid.ValueEquals(rdn.GetSingleElementType()))
1971Oids.BasicConstraints => LegacyBasicConstraintsDecoder.IsSupported ? new X509BasicConstraintsExtension() : null,
1972Oids.BasicConstraints2 => new X509BasicConstraintsExtension(),
1973Oids.KeyUsage => new X509KeyUsageExtension(),
1974Oids.EnhancedKeyUsage => new X509EnhancedKeyUsageExtension(),
1975Oids.SubjectKeyIdentifier => new X509SubjectKeyIdentifierExtension(),
1976Oids.AuthorityKeyIdentifier => new X509AuthorityKeyIdentifierExtension(),
1977Oids.AuthorityInformationAccess => new X509AuthorityInformationAccessExtension(),
1978Oids.SubjectAltName => new X509SubjectAlternativeNameExtension(),
1986if (extension.Oid?.Value == Oids.KeyUsage && extension is X509KeyUsageExtension ext)
2005Debug.Assert(certificate.GetKeyAlgorithm() == Oids.EcPublicKey);
2069Debug.Assert(certificate.GetKeyAlgorithm() == Oids.EcPublicKey);
2214if (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)