KeyPurposeId.cs 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
  2. #pragma warning disable
  3. using System;
  4. namespace Best.HTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509
  5. {
  6. /**
  7. * The KeyPurposeID object.
  8. * <pre>
  9. * KeyPurposeID ::= OBJECT IDENTIFIER
  10. * </pre>
  11. */
  12. public sealed class KeyPurposeID
  13. : DerObjectIdentifier
  14. {
  15. private const string id_kp = "1.3.6.1.5.5.7.3";
  16. private KeyPurposeID(string id)
  17. : base(id)
  18. {
  19. }
  20. public static readonly KeyPurposeID AnyExtendedKeyUsage = new KeyPurposeID(X509Extensions.ExtendedKeyUsage.Id + ".0");
  21. public static readonly KeyPurposeID id_kp_serverAuth = new KeyPurposeID(id_kp + ".1");
  22. public static readonly KeyPurposeID id_kp_clientAuth = new KeyPurposeID(id_kp + ".2");
  23. public static readonly KeyPurposeID id_kp_codeSigning = new KeyPurposeID(id_kp + ".3");
  24. public static readonly KeyPurposeID id_kp_emailProtection = new KeyPurposeID(id_kp + ".4");
  25. public static readonly KeyPurposeID id_kp_ipsecEndSystem = new KeyPurposeID(id_kp + ".5");
  26. public static readonly KeyPurposeID id_kp_ipsecTunnel = new KeyPurposeID(id_kp + ".6");
  27. public static readonly KeyPurposeID id_kp_ipsecUser = new KeyPurposeID(id_kp + ".7");
  28. public static readonly KeyPurposeID id_kp_timeStamping = new KeyPurposeID(id_kp + ".8");
  29. public static readonly KeyPurposeID id_kp_OCSPSigning = new KeyPurposeID(id_kp + ".9");
  30. public static readonly KeyPurposeID id_kp_dvcs = new KeyPurposeID(id_kp + ".10");
  31. public static readonly KeyPurposeID id_kp_sbgpCertAAServerAuth = new KeyPurposeID(id_kp + ".11");
  32. public static readonly KeyPurposeID id_kp_scvp_responder = new KeyPurposeID(id_kp + ".12");
  33. public static readonly KeyPurposeID id_kp_eapOverPPP = new KeyPurposeID(id_kp + ".13");
  34. public static readonly KeyPurposeID id_kp_eapOverLAN = new KeyPurposeID(id_kp + ".14");
  35. public static readonly KeyPurposeID id_kp_scvpServer = new KeyPurposeID(id_kp + ".15");
  36. public static readonly KeyPurposeID id_kp_scvpClient = new KeyPurposeID(id_kp + ".16");
  37. public static readonly KeyPurposeID id_kp_ipsecIKE = new KeyPurposeID(id_kp + ".17");
  38. public static readonly KeyPurposeID id_kp_capwapAC = new KeyPurposeID(id_kp + ".18");
  39. public static readonly KeyPurposeID id_kp_capwapWTP = new KeyPurposeID(id_kp + ".19");
  40. public static readonly KeyPurposeID id_kp_cmcCA = new KeyPurposeID(id_kp + ".27");
  41. public static readonly KeyPurposeID id_kp_cmcRA = new KeyPurposeID(id_kp + ".28");
  42. public static readonly KeyPurposeID id_kp_cmKGA = new KeyPurposeID(id_kp + ".32");
  43. //
  44. // microsoft key purpose ids
  45. //
  46. public static readonly KeyPurposeID id_kp_smartcardlogon = new KeyPurposeID("1.3.6.1.4.1.311.20.2.2");
  47. public static readonly KeyPurposeID id_kp_macAddress = new KeyPurposeID("1.3.6.1.1.1.1.22");
  48. /// <summary>Microsoft Server Gated Crypto (msSGC).</summary>
  49. /// <remarks>see https://www.alvestrand.no/objectid/1.3.6.1.4.1.311.10.3.3.html</remarks>
  50. public static readonly KeyPurposeID id_kp_msSGC = new KeyPurposeID("1.3.6.1.4.1.311.10.3.3");
  51. private const string id_pkinit = "1.3.6.1.5.2.3";
  52. public static readonly KeyPurposeID scSysNodeNumber = new KeyPurposeID(id_pkinit + ".0");
  53. public static readonly KeyPurposeID id_pkinit_authData = new KeyPurposeID(id_pkinit + ".1");
  54. public static readonly KeyPurposeID id_pkinit_DHKeyData = new KeyPurposeID(id_pkinit + ".2");
  55. public static readonly KeyPurposeID id_pkinit_rkeyData = new KeyPurposeID(id_pkinit + ".3");
  56. public static readonly KeyPurposeID keyPurposeClientAuth = new KeyPurposeID(id_pkinit + ".4");
  57. public static readonly KeyPurposeID keyPurposeKdc = new KeyPurposeID(id_pkinit + ".5");
  58. /// <summary>Netscape Server Gated Crypto (nsSGC).</summary>
  59. /// <remarks>see https://www.alvestrand.no/objectid/2.16.840.1.113730.4.1.html</remarks>
  60. public static readonly KeyPurposeID id_kp_nsSGC = new KeyPurposeID("2.16.840.1.113730.4.1");
  61. public static readonly KeyPurposeID IdKPServerAuth = id_kp_serverAuth;
  62. public static readonly KeyPurposeID IdKPClientAuth = id_kp_clientAuth;
  63. public static readonly KeyPurposeID IdKPCodeSigning = id_kp_codeSigning;
  64. public static readonly KeyPurposeID IdKPEmailProtection = id_kp_emailProtection;
  65. public static readonly KeyPurposeID IdKPIpsecEndSystem = id_kp_ipsecEndSystem;
  66. public static readonly KeyPurposeID IdKPIpsecTunnel = id_kp_ipsecTunnel;
  67. public static readonly KeyPurposeID IdKPIpsecUser = id_kp_ipsecUser;
  68. public static readonly KeyPurposeID IdKPTimeStamping = id_kp_timeStamping;
  69. public static readonly KeyPurposeID IdKPOcspSigning = id_kp_OCSPSigning;
  70. public static readonly KeyPurposeID IdKPSmartCardLogon = id_kp_smartcardlogon;
  71. public static readonly KeyPurposeID IdKPMacAddress = id_kp_macAddress;
  72. }
  73. }
  74. #pragma warning restore
  75. #endif