names.go 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. /*
  2. * ZGrab Copyright 2015 Regents of the University of Michigan
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License"); you may not
  5. * use this file except in compliance with the License. You may obtain a copy
  6. * of the License at http://www.apache.org/licenses/LICENSE-2.0
  7. *
  8. * Unless required by applicable law or agreed to in writing, software
  9. * distributed under the License is distributed on an "AS IS" BASIS,
  10. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  11. * implied. See the License for the specific language governing
  12. * permissions and limitations under the License.
  13. */
  14. package json
  15. // IANA-assigned curve ID values, see
  16. // http://www.iana.org/assignments/tls-parameters/tls-parameters.xml#tls-parameters-8
  17. const (
  18. Sect163k1 TLSCurveID = 1
  19. Sect163r1 TLSCurveID = 2
  20. Sect163r2 TLSCurveID = 3
  21. Sect193r1 TLSCurveID = 4
  22. Sect193r2 TLSCurveID = 5
  23. Sect233k1 TLSCurveID = 6
  24. Sect233r1 TLSCurveID = 7
  25. Sect239k1 TLSCurveID = 8
  26. Sect283k1 TLSCurveID = 9
  27. Sect283r1 TLSCurveID = 10
  28. Sect409k1 TLSCurveID = 11
  29. Sect409r1 TLSCurveID = 12
  30. Sect571k1 TLSCurveID = 13
  31. Sect571r1 TLSCurveID = 14
  32. Secp160k1 TLSCurveID = 15
  33. Secp160r1 TLSCurveID = 16
  34. Secp160r2 TLSCurveID = 17
  35. Secp192k1 TLSCurveID = 18
  36. Secp192r1 TLSCurveID = 19
  37. Secp224k1 TLSCurveID = 20
  38. Secp224r1 TLSCurveID = 21
  39. Secp256k1 TLSCurveID = 22
  40. Secp256r1 TLSCurveID = 23
  41. Secp384r1 TLSCurveID = 24
  42. Secp521r1 TLSCurveID = 25
  43. BrainpoolP256r1 TLSCurveID = 26
  44. BrainpoolP384r1 TLSCurveID = 27
  45. BrainpoolP512r1 TLSCurveID = 28
  46. )
  47. var ecIDToName map[TLSCurveID]string
  48. var ecNameToID map[string]TLSCurveID
  49. func init() {
  50. ecIDToName = make(map[TLSCurveID]string, 64)
  51. ecIDToName[Sect163k1] = "sect163k1"
  52. ecIDToName[Sect163r1] = "sect163r1"
  53. ecIDToName[Sect163r2] = "sect163r2"
  54. ecIDToName[Sect193r1] = "sect193r1"
  55. ecIDToName[Sect193r2] = "sect193r2"
  56. ecIDToName[Sect233k1] = "sect233k1"
  57. ecIDToName[Sect233r1] = "sect233r1"
  58. ecIDToName[Sect239k1] = "sect239k1"
  59. ecIDToName[Sect283k1] = "sect283k1"
  60. ecIDToName[Sect283r1] = "sect283r1"
  61. ecIDToName[Sect409k1] = "sect409k1"
  62. ecIDToName[Sect409r1] = "sect409r1"
  63. ecIDToName[Sect571k1] = "sect571k1"
  64. ecIDToName[Sect571r1] = "sect571r1"
  65. ecIDToName[Secp160k1] = "secp160k1"
  66. ecIDToName[Secp160r1] = "secp160r1"
  67. ecIDToName[Secp160r2] = "secp160r2"
  68. ecIDToName[Secp192k1] = "secp192k1"
  69. ecIDToName[Secp192r1] = "secp192r1"
  70. ecIDToName[Secp224k1] = "secp224k1"
  71. ecIDToName[Secp224r1] = "secp224r1"
  72. ecIDToName[Secp256k1] = "secp256k1"
  73. ecIDToName[Secp256r1] = "secp256r1"
  74. ecIDToName[Secp384r1] = "secp384r1"
  75. ecIDToName[Secp521r1] = "secp521r1"
  76. ecIDToName[BrainpoolP256r1] = "brainpoolp256r1"
  77. ecIDToName[BrainpoolP384r1] = "brainpoolp384r1"
  78. ecIDToName[BrainpoolP512r1] = "brainpoolp512r1"
  79. ecNameToID = make(map[string]TLSCurveID, 64)
  80. ecNameToID["sect163k1"] = Sect163k1
  81. ecNameToID["sect163r1"] = Sect163r1
  82. ecNameToID["sect163r2"] = Sect163r2
  83. ecNameToID["sect193r1"] = Sect193r1
  84. ecNameToID["sect193r2"] = Sect193r2
  85. ecNameToID["sect233k1"] = Sect233k1
  86. ecNameToID["sect233r1"] = Sect233r1
  87. ecNameToID["sect239k1"] = Sect239k1
  88. ecNameToID["sect283k1"] = Sect283k1
  89. ecNameToID["sect283r1"] = Sect283r1
  90. ecNameToID["sect409k1"] = Sect409k1
  91. ecNameToID["sect409r1"] = Sect409r1
  92. ecNameToID["sect571k1"] = Sect571k1
  93. ecNameToID["sect571r1"] = Sect571r1
  94. ecNameToID["secp160k1"] = Secp160k1
  95. ecNameToID["secp160r1"] = Secp160r1
  96. ecNameToID["secp160r2"] = Secp160r2
  97. ecNameToID["secp192k1"] = Secp192k1
  98. ecNameToID["secp192r1"] = Secp192r1
  99. ecNameToID["secp224k1"] = Secp224k1
  100. ecNameToID["secp224r1"] = Secp224r1
  101. ecNameToID["secp256k1"] = Secp256k1
  102. ecNameToID["secp256r1"] = Secp256r1
  103. ecNameToID["secp384r1"] = Secp384r1
  104. ecNameToID["secp521r1"] = Secp521r1
  105. ecNameToID["brainpoolp256r1"] = BrainpoolP256r1
  106. ecNameToID["brainpoolp384r1"] = BrainpoolP384r1
  107. ecNameToID["brainpoolp512r1"] = BrainpoolP512r1
  108. }