insecure.go 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package insecure
  2. import (
  3. "crypto/tls"
  4. "crypto/x509"
  5. "log"
  6. )
  7. const certPEM = `-----BEGIN CERTIFICATE-----
  8. MIIDCjCCAfKgAwIBAgIQIj4BuOtQRWxvUA4CUaL+WjANBgkqhkiG9w0BAQsFADAS
  9. MRAwDgYDVQQKEwdBY21lIENvMCAXDTE4MDIyMjEzNDA1NFoYDzIxMzIwMzIzMDU0
  10. MDU0WjASMRAwDgYDVQQKEwdBY21lIENvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
  11. MIIBCgKCAQEA0f+rxvg+P/YxJ9Rnj4qPypexre9OAwHfYIfDtBwPffSNhmaJa6Ir
  12. JmPDAfrkGmAu8E+1EJMRge7R4js+y7lj/nxSTHQW4ixXWYNaHrXB8T2ty+dW2T+t
  13. TWagtBkgdZqC+t3AloRtDJBIFKXcd6yHA9q9vj/KRtnafTPjDYD+m4obR5vhkFYm
  14. 5oJJoLkcuZ8hGr3MdzHFMIPOJ5Bm5YBY3z4TLqGnmDqhL3pqNHW0xHP7wGEJOTal
  15. I/3OqRthAkLLMwUCHQcpLt1j2jTbavodUSr4ibNXTn5L1ynRGtozb2iE+4bZlRQZ
  16. oR0Q32XxPQ+vkKtatgXS7E6yiq/vUc88hQIDAQABo1owWDAOBgNVHQ8BAf8EBAMC
  17. AqQwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zAgBgNVHREE
  18. GTAXgglsb2NhbGhvc3SHBAAAAACHBH8AAAEwDQYJKoZIhvcNAQELBQADggEBAJgo
  19. hrLJDKN9VXh6EXYtaeMxRVEINt+swrXLoxNcNmRXZb5vX11yX9uHWCcIaOHZM4c6
  20. +ZZe6gtdTGswrzl7vB5RJ5ZJEypj0MhAvH/PN0J9W0gXYbxzI839RQ2DqNXDjU7I
  21. bEDlKBSSmFb0TjXTuXhHKyviLETAbf143Zb7M1i9L+U5fiPaq2Zt07NX6d2SYeMd
  22. 7udXyv/WhWfXKYj2Hoa8sKfcNr2e68IkbD6i1j9zXSbOMfvs1JZgryGqNIoGDOPz
  23. +M3QhvvuiYJCSoOhDph0pNoVeH4NtaVwqPe7qMPnim11CGQSfjzxmZMFqsoJIsRe
  24. lig/ubNJZbC6oA1X+t4=
  25. -----END CERTIFICATE-----
  26. `
  27. const keyPEM = `-----BEGIN RSA PRIVATE KEY-----
  28. MIIEpAIBAAKCAQEA0f+rxvg+P/YxJ9Rnj4qPypexre9OAwHfYIfDtBwPffSNhmaJ
  29. a6IrJmPDAfrkGmAu8E+1EJMRge7R4js+y7lj/nxSTHQW4ixXWYNaHrXB8T2ty+dW
  30. 2T+tTWagtBkgdZqC+t3AloRtDJBIFKXcd6yHA9q9vj/KRtnafTPjDYD+m4obR5vh
  31. kFYm5oJJoLkcuZ8hGr3MdzHFMIPOJ5Bm5YBY3z4TLqGnmDqhL3pqNHW0xHP7wGEJ
  32. OTalI/3OqRthAkLLMwUCHQcpLt1j2jTbavodUSr4ibNXTn5L1ynRGtozb2iE+4bZ
  33. lRQZoR0Q32XxPQ+vkKtatgXS7E6yiq/vUc88hQIDAQABAoIBAENHu7xaqm8JrIQL
  34. TEaz6Q/KfBWy9vaFshCWTsA0wU3kfTdTQLHoWhTJn5/RxyUgLcm2b9dolxJe9oWZ
  35. 36ubsQrGwANYqkA6Xp4CNGxkZUeqMDWE39Fo0lhbCh/JcRncsBw50csnkFyXGVDs
  36. Nu9sqjE08teyTldW0uaMKjGYY3pnNrx2o4rjC40zukuaKJx2cUE7lm05lrYNxUWT
  37. mNA+ByG8kaK7dL03fT8g9qihbrNTbTG8LC6Bfr8Tl/+PAi+uudQsTW3m2+0mXBOR
  38. iP7R/j0PEVuDjVRSWcV1oXH/XBVWozUZgBNxTdW1VDyPU7HLM907zzLMZRVId+5w
  39. /Hxz/70CgYEA0hDZA0YTlawDySqQrrdyeSd/OWTO4fbuq5uDVP2VwgM/KQLsr9N0
  40. Sa4g8ByeeXdOPKTxSA4a/ACXunKQaGSSjTUQ9L01J7nQQ723Ji7YU+0pM3LG+0Ga
  41. PGWxwmTVM/XcOChOdv0u8H5mSJw14UAwzbguRH/Sw7yTCZdXjE7MCdsCgYEA/+sR
  42. PWUpPRyClIOD20ee422Cib8/Utx6FrEnUKYnSi90hC3dIq1Ti+NAHqTtkFIVcG3H
  43. PzcobEFsjVdERYc7QGhEkxJY84V7nulGufLuF0k9w0DtM+clzLSR7jYKSdOdiIJa
  44. U3zlnuAt1wdRLGToeC69h5FK30ZkQ3axakwfkR8CgYEAmEsgme//GN6pq/lRBWn3
  45. 8wAAi4KbPlVAuWc4crCaFxs1ei0lnV9HCnfUZ1/IQLWPIgZO6vdW9uYTGlgee6CW
  46. Ywta7KQT2mYrKEFte6Aws7/Xw/XtbpEkGa98jTt/Gnmfm5MVN8zcb/yjePbPVSut
  47. dieWW5D0I3Yef7CaBx3FbUsCgYEAhk99RcaAxSTgV0dKfVvyRJPlrZtkhX1WyfAB
  48. nS8GccXEFdboNtnWfhUvQqX2VAbwX4gNyNyO53nSmb9SAld9vki6rKE1c+D7RyRQ
  49. zSh00l3K/11k4BeQ3AVsjSNpdOONyuX2t9hVvnMTO8YIUQ9IfkKxj6OuMs4DsvBp
  50. HkuDSasCgYAJMKJLDzVHEVTokQIYge8ZK4/TtbD+OHt176Q3cWNbRGQPsLnmWqA2
  51. 9wtvOiilMPPhMUcIJDkuiRk8Ee2Tn/BfY5+sVa/ciwH+LvWOJ9GU2HCFTysgz0dE
  52. nGJMtCztdc2DqxoFcBThVTmZ8F9XIRmBLxmcHlUYjwwTSp0Wo4ppwA==
  53. -----END RSA PRIVATE KEY-----
  54. `
  55. var (
  56. // Cert is a self signed certificate
  57. Cert tls.Certificate
  58. // CertPool contains the self signed certificate
  59. CertPool *x509.CertPool
  60. )
  61. func init() {
  62. var err error
  63. Cert, err = tls.X509KeyPair([]byte(certPEM), []byte(keyPEM))
  64. if err != nil {
  65. log.Fatalln("Failed to parse key pair:", err)
  66. }
  67. Cert.Leaf, err = x509.ParseCertificate(Cert.Certificate[0])
  68. if err != nil {
  69. log.Fatalln("Failed to parse certificate:", err)
  70. }
  71. CertPool = x509.NewCertPool()
  72. CertPool.AddCert(Cert.Leaf)
  73. }