|
|
@@ -33,49 +33,49 @@ public struct SampleCertificate {
|
|
|
public static let ca = SampleCertificate(
|
|
|
certificate: try! NIOSSLCertificate(bytes: .init(caCert.utf8), format: .pem),
|
|
|
commonName: "some-ca",
|
|
|
- notAfter: Date(timeIntervalSince1970: 1_751_648_938)
|
|
|
+ notAfter: Date(timeIntervalSince1970: 1_753_797_065)
|
|
|
)
|
|
|
|
|
|
public static let otherCA = SampleCertificate(
|
|
|
certificate: try! NIOSSLCertificate(bytes: .init(otherCACert.utf8), format: .pem),
|
|
|
commonName: "some-other-ca",
|
|
|
- notAfter: Date(timeIntervalSince1970: 1_751_648_938)
|
|
|
+ notAfter: Date(timeIntervalSince1970: 1_753_797_065)
|
|
|
)
|
|
|
|
|
|
public static let server = SampleCertificate(
|
|
|
certificate: try! NIOSSLCertificate(bytes: .init(serverCert.utf8), format: .pem),
|
|
|
commonName: "localhost",
|
|
|
- notAfter: Date(timeIntervalSince1970: 1_751_648_938)
|
|
|
+ notAfter: Date(timeIntervalSince1970: 1_753_797_065)
|
|
|
)
|
|
|
|
|
|
public static let exampleServer = SampleCertificate(
|
|
|
certificate: try! NIOSSLCertificate(bytes: .init(exampleServerCert.utf8), format: .pem),
|
|
|
commonName: "example.com",
|
|
|
- notAfter: Date(timeIntervalSince1970: 1_751_648_938)
|
|
|
+ notAfter: Date(timeIntervalSince1970: 1_753_797_065)
|
|
|
)
|
|
|
|
|
|
public static let serverSignedByOtherCA = SampleCertificate(
|
|
|
certificate: try! NIOSSLCertificate(bytes: .init(serverSignedByOtherCACert.utf8), format: .pem),
|
|
|
commonName: "localhost",
|
|
|
- notAfter: Date(timeIntervalSince1970: 1_751_648_938)
|
|
|
+ notAfter: Date(timeIntervalSince1970: 1_753_797_065)
|
|
|
)
|
|
|
|
|
|
public static let client = SampleCertificate(
|
|
|
certificate: try! NIOSSLCertificate(bytes: .init(clientCert.utf8), format: .pem),
|
|
|
commonName: "localhost",
|
|
|
- notAfter: Date(timeIntervalSince1970: 1_751_648_938)
|
|
|
+ notAfter: Date(timeIntervalSince1970: 1_753_797_065)
|
|
|
)
|
|
|
|
|
|
public static let clientSignedByOtherCA = SampleCertificate(
|
|
|
certificate: try! NIOSSLCertificate(bytes: .init(clientSignedByOtherCACert.utf8), format: .pem),
|
|
|
commonName: "localhost",
|
|
|
- notAfter: Date(timeIntervalSince1970: 1_751_648_938)
|
|
|
+ notAfter: Date(timeIntervalSince1970: 1_753_797_065)
|
|
|
)
|
|
|
|
|
|
public static let exampleServerWithExplicitCurve = SampleCertificate(
|
|
|
certificate: try! NIOSSLCertificate(bytes: .init(serverExplicitCurveCert.utf8), format: .pem),
|
|
|
commonName: "localhost",
|
|
|
- notAfter: Date(timeIntervalSince1970: 1_751_648_938)
|
|
|
+ notAfter: Date(timeIntervalSince1970: 1_753_797_065)
|
|
|
)
|
|
|
}
|
|
|
|
|
|
@@ -106,258 +106,258 @@ public struct SamplePrivateKey {
|
|
|
|
|
|
private let caCert = """
|
|
|
-----BEGIN CERTIFICATE-----
|
|
|
- MIICoDCCAYgCCQDhjLeDGLctlTANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDDAdz
|
|
|
- b21lLWNhMB4XDTI0MDcwNDE3MDg1OFoXDTI1MDcwNDE3MDg1OFowEjEQMA4GA1UE
|
|
|
- AwwHc29tZS1jYTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzrSLrp
|
|
|
- IcroapZ1CB2jz5N1O+S22oLpKyYE2KT+lXN1Bp44ni4bkklrXSNwyqwldqh9gk5m
|
|
|
- HRvXA00nNkXD4dx0wjDJqxgs3AME58EIWo3MKrCNUS4cnD6qeQNf9ZZkxE8dWq1U
|
|
|
- ZKhAVMuSWDMRYNZvSsiNjsMSRwIaPrpyDuUhAlG49HCmYLkBEzMckAhq1T1eiPwi
|
|
|
- zae9d+CO7P34CSm3hYmjV7eiiwRhmPWpJwt53SrZvjjwzVpzZjcP+RDef4v+PFpQ
|
|
|
- mvEfIl4H+T+IHacgkIJdvaxRn9uktf12naDHk0UvQI67JLKleU+QshcSScWb8FA6
|
|
|
- 7mcD8cdfu1y2+vcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAKdizzBFh65tDUIwz
|
|
|
- raukYSPIRm3erLD+Yky/bnenZrhofo4yLyoGu3UCwAvSjcXkEH2wPdRrJGm1nrQG
|
|
|
- yKauWmjFjD3AA3qidrPBJXg8REWpjQjXvrjPztI6N4OVaXsDFBXczr/7E1Ot/fu3
|
|
|
- rGGjv2lD4fFdEUb7vvmywwWdVG2eK33xuoGpUWNtHg781QiAW5XQlMTR8Nghdc/B
|
|
|
- yX3BlsR0ube//l3BKmWfSQbRM8vRQwO19VmZyaxjFwiQviW5ds3b7KReqxJn5UbU
|
|
|
- brcfWGL+eg0/lOWTVQkoIwHBsmAZnIE98AeC8OGuGKMRxqkYqZ9Fsg8DVUMdqQFe
|
|
|
- Dbu9pQ==
|
|
|
+ MIICoDCCAYgCCQCu3t2RYSXASjANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDDAdz
|
|
|
+ b21lLWNhMB4XDTI0MDcyOTEzNTEwNVoXDTI1MDcyOTEzNTEwNVowEjEQMA4GA1UE
|
|
|
+ AwwHc29tZS1jYTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOtVwFmJ
|
|
|
+ Znuf0gC8tZSVasYrSbiDiYGUJd701SskU+RbzNZl7paYIBcM2iAy4L6S2w02ehfa
|
|
|
+ RZoatGoKKhTZnyMu9NAYM1xAGiODfqC0s467udVBU6J2rU8olhm1ChZqfVBxcd9y
|
|
|
+ AF7VjvN1N3gnGM2klAWFIgqaHoFAqINwHROjycAnr40uXCLNLukkt90AmMtL5Rah
|
|
|
+ Sh0wOrx0E5OiiqWyWkjePTcMTwiRaYrUepo+EGFdmERDyiJtp5t4pcqdInJ6uA4s
|
|
|
+ eiev9NEiGdWeJy83lIdo3N777r8cK9VDsHxHGiz72ZKE35MeIEk9weC1ph81KIZV
|
|
|
+ cUDuO8nRPwWvBDUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAT6hoeq4sJdqkaN+p
|
|
|
+ QvpF9cZ4DJLw0dFujcWQtYpPCtMVQx14QSXaPGmUG0GLVJ5mUvzV0cwUC58JDXmS
|
|
|
+ CDQ/vBnfoWQyblFQDZXOP5aDGOTmNIpFn8hutqsSDvMteh8R3zvJZBr+CQtP2Bos
|
|
|
+ TH3TcnchhKq580hYazFJJ1P4jOqBXIQb3Osnm8WjJpGuDtOP8DW2Q2AdN/8Zl+FQ
|
|
|
+ OrwiGMwghkZm2O91tYKvr45VxvyIpah36d5IFyAP7xIT4ua7X7ZyaCMjBmlK1QHd
|
|
|
+ kKUVuyR2bLgpIRpj/KQY/UOdl1zu3MUs9OkG0suPrY3EOa0K7hDkXnHjX2ZipSw7
|
|
|
+ TAuG9Q==
|
|
|
-----END CERTIFICATE-----
|
|
|
"""
|
|
|
|
|
|
private let otherCACert = """
|
|
|
-----BEGIN CERTIFICATE-----
|
|
|
- MIICrDCCAZQCCQD8FZzejuvygjANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1z
|
|
|
- b21lLW90aGVyLWNhMB4XDTI0MDcwNDE3MDg1OFoXDTI1MDcwNDE3MDg1OFowGDEW
|
|
|
+ MIICrDCCAZQCCQDjS9iNRZ49lzANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1z
|
|
|
+ b21lLW90aGVyLWNhMB4XDTI0MDcyOTEzNTEwNVoXDTI1MDcyOTEzNTEwNVowGDEW
|
|
|
MBQGA1UEAwwNc29tZS1vdGhlci1jYTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
|
|
|
- AQoCggEBAPtxP9YCOZggO5iivxe4CEHk3DdfYXKul+jOdW/dU4P4pwKU/YutQu+F
|
|
|
- 7tPnGYaP7eO3if8PtbILio0lubk+uSbTZ5hRteL/3yj9UN6jL4vaVOkSunpbP+/d
|
|
|
- HXdB8Aa0hzZlNPbG9+7TADGryxqt1KzgVo+KBAEY0p2vRc3E6HtLBnSkzlw3wi1X
|
|
|
- zmuy8WCnayTmdqt95djsJE8PNX+GtTNfaNtZ1M5qx4FiPqqJqFhgCKJHy4LRrO3u
|
|
|
- K5IfGVy8zfXkFSXfqvl9NKz71xecBIRMQJCATEpG6GXSyb+vmnOuAKZ+fVVLw7Kf
|
|
|
- oPYwG3sh2GRDfa2pfAoP0vjXZri8AWkCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEA
|
|
|
- 525Wy4Cyx2Pd91RJufYWRgkAwI8KLe4KV+SoZiLNJzfBRemqUq0P36l2lSotq4bp
|
|
|
- I04d5HXkl8eQ7dje/RFWXMHfNQXRq06+KUfh1XA17GQ+VOEHFc0PYKW78ydXXZDk
|
|
|
- PS2+y6Ru/MD989Aoecr2JvD7sSEmSvprtPxuNYHifZKbaw2c8HbR0Z3WawxoIFRV
|
|
|
- zeb4aGUncWj7IKNRmL4f7CDA3Old0fwIRKYcxv5awTHK01PE4Yxo89M2RqRFiJQy
|
|
|
- xbmAl1y7D1nLlfzHjKXRP6wpBylPcSssTuOXfi+U3Mv87iNDvzKTVYUD3c6wT/QQ
|
|
|
- bIRjD4xVam65aa8pewlzRA==
|
|
|
+ AQoCggEBAMC3EEHu7uYtDsH0RZEQHQol1oDEOxL+SDH7dbKIv0UpgW5LXLQDDGR9
|
|
|
+ FlKQbeNNtMt5mTd4TalqxZz+eMUhfrv0k3f1heEky/Wz53uRFHVNbDLEf/wa6QMd
|
|
|
+ 99HOBePy2yDWdQC5/R6zLwjM3LuzZ146QMk0b4tx+/hjSkUKUO6GVQEJrO8DTdij
|
|
|
+ XAco/3jCeM8wofQZQ6ipZ00gxI3BpubPgj60yRW7+aulHPlZmZuv3kDDmVcL+V3c
|
|
|
+ V0n0GVckV62xMWMnYGNXqAajkK97f+mlo+zZ2exkGV/2Kja2VT+wZKEkO9RfL6XC
|
|
|
+ 23hG9pjx5OmD1lihlwYve7VFSo56xvUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEA
|
|
|
+ TubObtDxGjUya7GPqrfC9gP2aQ/mBjprZGzzga0ksWQC4jIhq3qOCYVROBNHeqjH
|
|
|
+ mH3aleRrq9/QE6/fP7D6YruX6WEJ0hzFxf8eoVGYqETiNndlo9485bNVTB3afL2m
|
|
|
+ +qLKsvOoSvfO4iYrgvteFKycGICSR63EfN2AJFVNfMPATk7DILJo8gnMx/keKcgG
|
|
|
+ WWQaKHEeN2ufZRTDXz2/YNWx5K/w/L+/MDqZ9tZvWTiD/q+rQ9q7hbbbpCxrNgZF
|
|
|
+ 3PnNPtu9cTvaDl9p0liudFUc7FoI1PtEzT5hTMxYWoyNoFn9hUaVNreJKvS78nsx
|
|
|
+ F4VLaY8K8w3ruk8p0Igclg==
|
|
|
-----END CERTIFICATE-----
|
|
|
"""
|
|
|
|
|
|
private let serverCert = """
|
|
|
-----BEGIN CERTIFICATE-----
|
|
|
MIICmjCCAYICAQEwDQYJKoZIhvcNAQELBQAwEjEQMA4GA1UEAwwHc29tZS1jYTAe
|
|
|
- Fw0yNDA3MDQxNzA4NTlaFw0yNTA3MDQxNzA4NTlaMBQxEjAQBgNVBAMMCWxvY2Fs
|
|
|
- aG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANTYUmWVpEP9ym/T
|
|
|
- dYpDxr1z0bMZ7HiFMDT3EW0XGrEs2Rta6QbPxP3lSIW9G1OdVJMugg8EB4yoPrRc
|
|
|
- x6ttS64X48DyfvEH4VbdX+gHZUeTIloN9GispPiIiY5Qodq9/JeSjAG744lnKWKm
|
|
|
- 48w4A5bWb4zlZ8s7lNTiDphll686+oIuhhxAYI4nuKKsPhLatvclq/O6a1BypQv7
|
|
|
- 7psyo1gxcRs7gRLIGchcByI75ofkAcpT0/p67rhCECOFwvJt+8uuMoVnAPxcAgBO
|
|
|
- jgPhbxS6DcOSzoliQYtOBv2YIKllplgOE+0eYxAvxBLfGY/wh3SeEhVKF8G8ltT6
|
|
|
- Anp2MPcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEACG9shmrPmQvt+3dKpEuzR2BA
|
|
|
- GLrgON4zgc8byFIORHatPiM108LoEp2a8O+B3rFJqWbBBrowDBRR/5th7kLvyDsV
|
|
|
- J33Rb2mXaJv8K8hNkbSs5Ow5go9M5LveMcgRqiQTuYLuvgman3LvlGveEc5N2yar
|
|
|
- NCVmZfZ0ofTul+QqxaYBw2GlaXmzsyvpbZfowskYdGm/PipThWsuVy/e7BLHZsr7
|
|
|
- FF8f7qfbDsuVd0UpWPSlIHYUJLP4Bhj87YWnOQgXSEgq2cxybZHmahiG7YmZzg++
|
|
|
- Oz3B1+jGtb6nKk961X5LyGsitGjEULovA8tHQEJXWvKpYQTBXOMUCKWslrje3Q==
|
|
|
+ Fw0yNDA3MjkxMzUxMDVaFw0yNTA3MjkxMzUxMDVaMBQxEjAQBgNVBAMMCWxvY2Fs
|
|
|
+ aG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMJH2M/mJGXZneOE
|
|
|
+ 5UWbicTg1BxkdNND50p0fO/35CG4jDQ3CekXUuQ6kK6ZJ2idDQTOWJqd/jSB7Ctc
|
|
|
+ zmZ9KBAfhP9PHMZQaVQSo+tpvX6vC/hw3PCOEne1l8H8O957hBdOhEDg1crAZ33M
|
|
|
+ cTOtxTSNw7hh0OXzLyOTfq6h3nHyvjuj82fn8nyJ9lARDZ8grdLS5LVE+Je1G3My
|
|
|
+ kXJKJoYCGQHGDKmj7o1nrwiii20uE0gnjwGEiTO1ngKQGXzL6guuR1bMmE1UIPD7
|
|
|
+ IySu8Yg2nI8YB96dVNFaiB7gJg9Nde7a7GHPh+4t0NSqLlBL+k94c2J8lWgN38bZ
|
|
|
+ ugoknf0CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAXmSnx5fjn0Z9GLQYkaXxKUoc
|
|
|
+ rYPkmzRCocso3GNMWz3kde351UmPpX3tf11638aIKO0xzJ6PZyYowdbCXZs4Co/o
|
|
|
+ pYyeW2LOoxLwSBF8wFMAPN3FB54c/KfancXGV1ULTlhfpnoZvUPnqJDYoxFRUkIQ
|
|
|
+ wVtlyA/p5Zfc9U8czer42eo5aj9D9ircBt4k6hx9IY99YvyNeFfMq4TLOgJZkZT7
|
|
|
+ 2AImVq4kBvIUVrK86MGyRuNbAWP4fY5OOymT0rEKA6U5Lx+c9PPaFgozbGk4QAMB
|
|
|
+ ZTwv8ymHAKdcgiDRAoQ2NhkSlySnKi4oEwcKLYPuyrpt1eG2Lx993gdSa4z2eQ==
|
|
|
-----END CERTIFICATE-----
|
|
|
"""
|
|
|
|
|
|
private let serverSignedByOtherCACert = """
|
|
|
-----BEGIN CERTIFICATE-----
|
|
|
MIICoDCCAYgCAQEwDQYJKoZIhvcNAQELBQAwGDEWMBQGA1UEAwwNc29tZS1vdGhl
|
|
|
- ci1jYTAeFw0yNDA3MDQxNzA4NTlaFw0yNTA3MDQxNzA4NTlaMBQxEjAQBgNVBAMM
|
|
|
- CWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANTYUmWV
|
|
|
- pEP9ym/TdYpDxr1z0bMZ7HiFMDT3EW0XGrEs2Rta6QbPxP3lSIW9G1OdVJMugg8E
|
|
|
- B4yoPrRcx6ttS64X48DyfvEH4VbdX+gHZUeTIloN9GispPiIiY5Qodq9/JeSjAG7
|
|
|
- 44lnKWKm48w4A5bWb4zlZ8s7lNTiDphll686+oIuhhxAYI4nuKKsPhLatvclq/O6
|
|
|
- a1BypQv77psyo1gxcRs7gRLIGchcByI75ofkAcpT0/p67rhCECOFwvJt+8uuMoVn
|
|
|
- APxcAgBOjgPhbxS6DcOSzoliQYtOBv2YIKllplgOE+0eYxAvxBLfGY/wh3SeEhVK
|
|
|
- F8G8ltT6Anp2MPcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEA1cUeJkmPC+qjNzTY
|
|
|
- JJ6LUofrVfIXZbiZf2NugNx/iLAabrLSd4pZjIXQszWbd5t+wftyUBqUd1Z/GuPj
|
|
|
- XHmfES4ZUm1Fyu75KZjNzzXsXrlZ09IHIWvxAcA3FtqbDElw7naExbzcpup6s+45
|
|
|
- MgAMcFnMIoMj4Cdt9Ky0kzWKdl7tmNxIF+PNQby6JCVb7HPUgs3hqSalwDo9ddYF
|
|
|
- 8lvJ5Q4ZzlKLL1zUKkpD7I4M6hvNLgHdnLa9nwtT40u0bbGr9z25W+YouJy5N4pD
|
|
|
- YsOhm4xYF9VBZIEsr/ZSrI2RtABu7I5NVNWhF7JAIYspur1Rghl5bRkSaQ1jf/BK
|
|
|
- Epog6w==
|
|
|
+ ci1jYTAeFw0yNDA3MjkxMzUxMDVaFw0yNTA3MjkxMzUxMDVaMBQxEjAQBgNVBAMM
|
|
|
+ CWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMJH2M/m
|
|
|
+ JGXZneOE5UWbicTg1BxkdNND50p0fO/35CG4jDQ3CekXUuQ6kK6ZJ2idDQTOWJqd
|
|
|
+ /jSB7CtczmZ9KBAfhP9PHMZQaVQSo+tpvX6vC/hw3PCOEne1l8H8O957hBdOhEDg
|
|
|
+ 1crAZ33McTOtxTSNw7hh0OXzLyOTfq6h3nHyvjuj82fn8nyJ9lARDZ8grdLS5LVE
|
|
|
+ +Je1G3MykXJKJoYCGQHGDKmj7o1nrwiii20uE0gnjwGEiTO1ngKQGXzL6guuR1bM
|
|
|
+ mE1UIPD7IySu8Yg2nI8YB96dVNFaiB7gJg9Nde7a7GHPh+4t0NSqLlBL+k94c2J8
|
|
|
+ lWgN38bZugoknf0CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAOzQ4ZiHOY9mZyE5e
|
|
|
+ aQPZn7FE93yZrnvZcuRwrv2WI5vQj70wU4oKdm6RuBbntercKgrP6xIf2mNrUSQk
|
|
|
+ A0XfB70QZYHKD/Uoy/NXn2CwwExXixQNUv8OaytiR2PGDk2hdeqmcTEo18/v2sT0
|
|
|
+ 32PpizVqRTfxARtu7gWt2P+n/RaL9Dj8JqB6vxv4rL2HkrDys3lT5UZwH4W81Lfw
|
|
|
+ hFI7gHRt9CjzpDIP/GFszdvTHLgozMXGKu+1UKWLepn1XEaKyQlS+CNMVGdI8qHn
|
|
|
+ 2KvU3L4zzB1MgJsTEmz+rdGtc7paBSHpLqp1DbrU+RjXCG+POBsWpRcHGkM8Q82X
|
|
|
+ e2/YQg==
|
|
|
-----END CERTIFICATE-----
|
|
|
"""
|
|
|
|
|
|
private let serverKey = """
|
|
|
-----BEGIN RSA PRIVATE KEY-----
|
|
|
- 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
- Bs/E/eVIhb0bU51Uky6CDwQHjKg+tFzHq21LrhfjwPJ+8QfhVt1f6AdlR5MiWg30
|
|
|
- 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
- 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
- +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
- 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
- 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
- pTherCANCnK81SmUefj0HIZwvMt5HNfj5ZeS6MaRCYsQVr9/Y2z12zeYbq1iOIwR
|
|
|
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- mg1GEE3hWCY9P1cLTedewHFBYpfiiR4hDKSyivZElV32C5Kg1uHxGc86FFGyAl3v
|
|
|
- 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
|
|
|
-----END RSA PRIVATE KEY-----
|
|
|
"""
|
|
|
|
|
|
private let exampleServerCert = """
|
|
|
-----BEGIN CERTIFICATE-----
|
|
|
MIICnDCCAYQCAQEwDQYJKoZIhvcNAQELBQAwEjEQMA4GA1UEAwwHc29tZS1jYTAe
|
|
|
- Fw0yNDA3MDQxNzA4NTlaFw0yNTA3MDQxNzA4NTlaMBYxFDASBgNVBAMMC2V4YW1w
|
|
|
- bGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2BfL1dswYSgf
|
|
|
- q+ZSp3Uy4bSlCayFuBeKc34W/XRl7+YJd8f/EJulI4gwYPjcBWYyFyHLzEyAjhJ8
|
|
|
- HMFW4a1PFNJ6gc3Djo60/qfhJ2/uAX8E/Gi7pVezKMsMwx6iBjG0SiN1zcQzGnns
|
|
|
- k12TRZWfsIl/RR5F1tZWMLggHXasT9DBZht4Ya9jx7nte4T43vFfWlzJHu7L3L2i
|
|
|
- 8tBTv3d53msjImMF6pUIqpDQ9doo+jGI4ApqbfeKUfy+/OxrKuhVMXzYh9dhXnDc
|
|
|
- nJnhgxa51MumiJ9apqeUBT+rW+1zhYpIUE5Su0TgYXjNGecb+OwMoy8WYRJIusD6
|
|
|
- QVebKRhAqwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQC7s83kfzkbh2GdbJYGCG/v
|
|
|
- nWz/aZnLm542wyi0aXZNodNF/mTO4jSm8RKeAwLX+f1hleI32CG/d9/zSrvwOZiW
|
|
|
- ar2fccfVqA1UuRXT8XyZB/WUxKPxuT1WtMVbS/nLS51XL2PJRn50JRAwnw7vH/MJ
|
|
|
- Lb7IqY8MmIYZrnEBMfAqkPvSvN9eXZYrNuLQaeqV/I97XKz8FJ4IbR9Mz51STcHJ
|
|
|
- 65lwzi/Tfdxq5awVfGx8bp+uj0aow6NPkpVqYS78LrCYVa4RYau9vHNVoHOzOumi
|
|
|
- dXRxp2NlVy4kJwd7RX4p5qE4OSNBpRgQBCtXYXWBV8eHIQo8mfDGcAMPfMFQ35TY
|
|
|
+ Fw0yNDA3MjkxMzUxMDVaFw0yNTA3MjkxMzUxMDVaMBYxFDASBgNVBAMMC2V4YW1w
|
|
|
+ bGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsqJThZkRGF4y
|
|
|
+ yfnnYQBuV+UCrwfiXoNvkxtEWufNah1mIWt7biM+s181Dfn52Lj8GUsNiMEZ6qrX
|
|
|
+ xBzNwo55tmsoxqywxUS4G2FA4nrniAs6UD7hywKt1zosBrneAPclLBblFwJQsQhC
|
|
|
+ DEgpsl/DDt5oHPRb5x1zB8DuB2zQhpvEu/pCX5OUlCLf0X1YxUCDU2yYGABokWSg
|
|
|
+ adHgZ+kAB+Cbt/zH+zibdUS1IpVtz90BuoftS6Iwed5XxPCe9FCc/P1vkPd9KiZT
|
|
|
+ OhREB3Ci8XfqPKSv9BRGbdg2C9tkmkgVTKcjhfkULsBdahrCLna8nOtoUXf1LJCC
|
|
|
+ IMDjjDfUiQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBj9JfAiC1qFkC7+kearHOB
|
|
|
+ RDGiAFyxT3cQuSOgQPoU0WoBaQ+/YhFp8zxJHlQEcQTmicODItJA1kGj8iGT18uE
|
|
|
+ Tno1lg7nkkMhoY/Q59yaMKLdfe6aETN2eqh8GJZdUwhOKO3dQBqUQuj25gxVR+1a
|
|
|
+ 1bcsv3ds8sNXdUNJM12iXzt5lAgwhLWX0SbxuApB+6rcQBKiqAoo3KY9N5tiEbRy
|
|
|
+ 1VeMkAl/C926+W2nOAQCxSryZWEUX5EL0VARfxBjrH6KzDk876HtrLuDb2LHFNJU
|
|
|
+ w+3nE69pEtXzMEYAQgv4yMQJZx6CtCjwS+Oxr5A3AJPk3nUSzOXVYTe5rk3hmC5I
|
|
|
-----END CERTIFICATE-----
|
|
|
"""
|
|
|
|
|
|
private let exampleServerKey = """
|
|
|
-----BEGIN RSA PRIVATE KEY-----
|
|
|
- MIIEpAIBAAKCAQEA2BfL1dswYSgfq+ZSp3Uy4bSlCayFuBeKc34W/XRl7+YJd8f/
|
|
|
- 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
- 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
- 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
- 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
- u0TgYXjNGecb+OwMoy8WYRJIusD6QVebKRhAqwIDAQABAoIBAQCPtvPHnOkGFKtL
|
|
|
- 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
- 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
- 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
- d9PMamPRVDBj+ixQ7NpUwpTldIGFf4b1l54LIvqtZoRX470XuTc8Tw7BYXjEl4jv
|
|
|
- 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
- 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
- cXr79Q9xw4Wl9gvzKq/YAYtY/SxyTL0A0ip9OwBHAyeGLvxEiodOCQ4qxKO4xAcy
|
|
|
- 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
- keSFim5V+vlpovxITdPowJzzaBXnKRFBEjcdBJsNio4iPuVoVHjMYaVkyVZ1FQ+s
|
|
|
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
|
|
|
-----END RSA PRIVATE KEY-----
|
|
|
"""
|
|
|
|
|
|
private let clientCert = """
|
|
|
-----BEGIN CERTIFICATE-----
|
|
|
MIICmjCCAYICAQEwDQYJKoZIhvcNAQELBQAwEjEQMA4GA1UEAwwHc29tZS1jYTAe
|
|
|
- Fw0yNDA3MDQxNzA4NTlaFw0yNTA3MDQxNzA4NTlaMBQxEjAQBgNVBAMMCWxvY2Fs
|
|
|
- aG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMT3FOJyfZpu6Ypq
|
|
|
- du3bMbdgWiVprdNMODJsRURJzKj7znKC1tLcD7gvv/536DKzpAl3VF/pbdd/yDU6
|
|
|
- JuXfel+2qxx3cvM+QLqBFEggUt9vd0rCs1DvZ9rT7A755hM2146gdE55g2JvXsJG
|
|
|
- C6gBskr40qkt5JrKSqOys5VE1TeifBt4lwCQphAB6qNeZM+0MEz6PSeeSFjVFZlo
|
|
|
- IdyF3+swCsioTvzbfXs9p14HthJzL3edoorbtJ8upZdUlwJNZ2AX7K34sL1SDM+b
|
|
|
- Ox+eoGLJ1OhPW+CHvjFMzpM3Q1dyTqR1SosBEiuYVpk/SAS/pBSNMp3yKqF1T3ch
|
|
|
- 4oJOb7UCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAejNVcNvE3sNgMC7a1nm1gPKt
|
|
|
- mnzVpuk/7Wls4ldH2yB6QupoWBimNAWyCsvc+l1qsbPJf18JbVK8FviRTs6Fka1g
|
|
|
- +MFMqMs/SlcAgmSlkfHdpu3zZqUEgQxF8pNJJ/Dr2ypkxEMkZnS/g4KiPdQGnTAU
|
|
|
- uHTtTm3DiNpyCCJFoDq3xMb+qTj8UTlZI45HukmqPKINobW6IHuislYQvhZnRXM9
|
|
|
- pwu4L379lI848bncYCVhlQJMP4bQTWhaUQgWpqIrxHatLAplWorTrCUzS1qT3uJN
|
|
|
- B/zptXK9+LLU8Nc+pqR2kTBhMN5a1nN6MzPSi6UWwX+evr/NRigkOReHDqx9GQ==
|
|
|
+ Fw0yNDA3MjkxMzUxMDVaFw0yNTA3MjkxMzUxMDVaMBQxEjAQBgNVBAMMCWxvY2Fs
|
|
|
+ aG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALqEdoBgLtT1p+jn
|
|
|
+ xjEXCQCpS6g5EIyHwjpIxC6gX49wACiFqNz67EmkDTX0HIPgk+/4wI5ljP7mYPzh
|
|
|
+ NAMFU4P8gDpYhKXLQyaNno1VTXxgpINIp2OXrhtLtkT6oO0hXTFVJCnsO9uyi7UR
|
|
|
+ 0sBZbXBiAlmnPSMaY15UkzJvS49zBEJ7qnKeZyAer7V9dYe8OhtWt7kVD6sVhf3a
|
|
|
+ 7QlwQCdbg3jowodpM3mvHnU8W6JBJ6p7dtAG3zDFyHY0erzc4bfPKqJEtV6YRVij
|
|
|
+ 3zRCEjlU6A7c66y8V66eieNOB2FzEvutOwNrnrWfaR8jjafbhdZZIai9/GJd8w60
|
|
|
+ rOBQoxkCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAqAYuUyEwGoDK2tOXPVHAFBaN
|
|
|
+ 7D6SlHQBxYDuI5jYfJWBfdw3+Dc/OoBXHtkg2OQIV315+uIYHguhScvL4GBmEjgn
|
|
|
+ 17zKGciymTPJ3eTcb6IIXJIkJr89YM5tyr7cveEUXRugSdAtX0aCaURRr2H4ycjk
|
|
|
+ NLaSJyqCb02g9Ny0/5pql/v3gdY1XGF/hDEMwpLb5TxTt3VMtYj4r59Yz/5e/950
|
|
|
+ MeINqAokIoLVtnYA+YW/Vj+T/ut9dFiC9E7arAw2z4zZ3uWvDVHTxhPQplUbpfyu
|
|
|
+ /rwx/GpotyGL1qU/JKOur2Y5Is8lfGkKZ6OJWAOPG+ZqO233+s1tH/SEQkIfIA==
|
|
|
-----END CERTIFICATE-----
|
|
|
"""
|
|
|
|
|
|
private let clientSignedByOtherCACert = """
|
|
|
-----BEGIN CERTIFICATE-----
|
|
|
MIICoDCCAYgCAQEwDQYJKoZIhvcNAQELBQAwGDEWMBQGA1UEAwwNc29tZS1vdGhl
|
|
|
- ci1jYTAeFw0yNDA3MDQxNzA4NTlaFw0yNTA3MDQxNzA4NTlaMBQxEjAQBgNVBAMM
|
|
|
- CWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMT3FOJy
|
|
|
- fZpu6Ypqdu3bMbdgWiVprdNMODJsRURJzKj7znKC1tLcD7gvv/536DKzpAl3VF/p
|
|
|
- bdd/yDU6JuXfel+2qxx3cvM+QLqBFEggUt9vd0rCs1DvZ9rT7A755hM2146gdE55
|
|
|
- g2JvXsJGC6gBskr40qkt5JrKSqOys5VE1TeifBt4lwCQphAB6qNeZM+0MEz6PSee
|
|
|
- SFjVFZloIdyF3+swCsioTvzbfXs9p14HthJzL3edoorbtJ8upZdUlwJNZ2AX7K34
|
|
|
- sL1SDM+bOx+eoGLJ1OhPW+CHvjFMzpM3Q1dyTqR1SosBEiuYVpk/SAS/pBSNMp3y
|
|
|
- KqF1T3ch4oJOb7UCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAKLBSZDrKiqAUiJCi
|
|
|
- da+cdf2oMEh9Tz9vlGik2O3KW2uW+eG0kF1D0PSNN0yGcmGY6eTiDu2MRlmBmRIz
|
|
|
- c3TTRArhXsRA7BQ4uyHOL3uRvcRUMk5DEtGwLrVAr79RM8jgPdom6Ws/fPzqxr8h
|
|
|
- umm4zc6ixLFhfGqI5QbIwVyBO4jLxTmwjuJSjlHOuSKLa74K88oKlFUR74ANyu+U
|
|
|
- e5/+q4SzvmRZG0sd2x1ZqmPajJ8nG2orhMu/k2VC8JQhuRigTXnapCUCVmeKA7eu
|
|
|
- dcwqBMU6QyvmwcTTR8GRlpfOR7rXEZUa2qak4kf76iNWOHzYkgNI3nOsCe70bFIy
|
|
|
- Eeh5yg==
|
|
|
+ ci1jYTAeFw0yNDA3MjkxMzUxMDVaFw0yNTA3MjkxMzUxMDVaMBQxEjAQBgNVBAMM
|
|
|
+ CWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALqEdoBg
|
|
|
+ LtT1p+jnxjEXCQCpS6g5EIyHwjpIxC6gX49wACiFqNz67EmkDTX0HIPgk+/4wI5l
|
|
|
+ jP7mYPzhNAMFU4P8gDpYhKXLQyaNno1VTXxgpINIp2OXrhtLtkT6oO0hXTFVJCns
|
|
|
+ O9uyi7UR0sBZbXBiAlmnPSMaY15UkzJvS49zBEJ7qnKeZyAer7V9dYe8OhtWt7kV
|
|
|
+ D6sVhf3a7QlwQCdbg3jowodpM3mvHnU8W6JBJ6p7dtAG3zDFyHY0erzc4bfPKqJE
|
|
|
+ tV6YRVij3zRCEjlU6A7c66y8V66eieNOB2FzEvutOwNrnrWfaR8jjafbhdZZIai9
|
|
|
+ /GJd8w60rOBQoxkCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEADl9prZ95iXY74KpV
|
|
|
+ Vm5L/whTnfXQ2t1BVYD+nOKYyipAuVu+gTbBgseF7Ly+mEM0ewIgFgGbYZsO82Tz
|
|
|
+ nCCYZY+ablJkewNOjn3DAsr3kTjIFnC4fpDbYQMw3IHEOWdollRLGv0d5SJNc9z+
|
|
|
+ N4pB8y53Uz2nYBUKGc+HEGKRwn0XZL5Vmd+OnT9Ry0wlYh3NYcTxAY8ArtyJq9h+
|
|
|
+ ROG4YH3en8e7RIGg1uB/m515Gm+CA4WphjErEiy5VH4YFAYtBWCxO/h2gPOwX+8o
|
|
|
+ UnpdgUOkzB/YAc7S7OGGngz2IyBf+Rz/JC41uF4+efg8ijoZlWcO4/gB1yLiofBD
|
|
|
+ /MgUQQ==
|
|
|
-----END CERTIFICATE-----
|
|
|
"""
|
|
|
|
|
|
private let clientKey = """
|
|
|
-----BEGIN RSA PRIVATE KEY-----
|
|
|
- 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
- 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
- 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
- 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
- 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
- iwESK5hWmT9IBL+kFI0ynfIqoXVPdyHigk5vtQIDAQABAoIBAGH7cD4+KlGa/z7G
|
|
|
- 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
- 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
- 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
- j9j6VbfLjoIatDGcC4MTiMkcIOYECAeXtpGYVdyH4K5y+UDCyo0b3qG+QuzE87gS
|
|
|
- h2yVJNZKR6Y1vmcGqXQATVoZPGzS6Lc0/kUqcW50uoGBV5o5Sr4OKOUPIFCRwYa7
|
|
|
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- +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
- 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
- 6g6BAoGAA5lMXjQeQ26I5vXJTWd9NEvb7IVJeAheZOA03ruIPR4dVhorhsFt72bQ
|
|
|
- +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
- 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
|
|
|
-----END RSA PRIVATE KEY-----
|
|
|
"""
|
|
|
|
|
|
private let serverExplicitCurveCert = """
|
|
|
-----BEGIN CERTIFICATE-----
|
|
|
- MIICDzCCAbYCCQC4FdI3dXof+TAKBggqhkjOPQQDAjAWMRQwEgYDVQQDDAtleGFt
|
|
|
- cGxlLmNvbTAeFw0yNDA3MDQxNzA4NTlaFw0yNTA3MDQxNzA4NTlaMBYxFDASBgNV
|
|
|
+ MIICEDCCAbYCCQCV4KgFB2WjmjAKBggqhkjOPQQDAjAWMRQwEgYDVQQDDAtleGFt
|
|
|
+ cGxlLmNvbTAeFw0yNDA3MjkxMzUxMDVaFw0yNTA3MjkxMzUxMDVaMBYxFDASBgNV
|
|
|
BAMMC2V4YW1wbGUuY29tMIIBSzCCAQMGByqGSM49AgEwgfcCAQEwLAYHKoZIzj0B
|
|
|
AQIhAP////8AAAABAAAAAAAAAAAAAAAA////////////////MFsEIP////8AAAAB
|
|
|
AAAAAAAAAAAAAAAA///////////////8BCBaxjXYqjqT57PrvVV2mIa8ZR0GsMxT
|
|
|
sPY7zjw+J9JgSwMVAMSdNgiG5wSTamZ44ROdJreBn36QBEEEaxfR8uEsQkf4vObl
|
|
|
Y6RA8ncDfYEt6zOg9KE5RdiYwpZP40Li/hp/m47n60p8D54WK84zV2sxXs7LtkBo
|
|
|
- N79R9QIhAP////8AAAAA//////////+85vqtpxeehPO5ysL8YyVRAgEBA0IABBJm
|
|
|
- 1grK+MXu4JYZqU6zD19w4MhWuhpPadq7PlpSxz4scMbWorth6pN/9hiqLAwKex7h
|
|
|
- IuaSXF+83OESJPTOagQwCgYIKoZIzj0EAwIDRwAwRAIgNGW97RYxaltyx02UMyHc
|
|
|
- E0AGSlMG3VFETZ5M9pMZGksCICgrTsLJXfOVdpyAjmI2vBibtZ/BisMftfXxupt3
|
|
|
- vM98
|
|
|
+ N79R9QIhAP////8AAAAA//////////+85vqtpxeehPO5ysL8YyVRAgEBA0IABDJg
|
|
|
+ pBr9ZhidkGWnjW+hvhPLTUH9V4iNr+WNsb2HjQK4NloOauRQ4mlc534XeBya5tRy
|
|
|
+ aczylZHH6uC7ULCA8XcwCgYIKoZIzj0EAwIDSAAwRQIgVqWCUtszDMJU5ropnKDh
|
|
|
+ UhsHq8r0ARIfTsjSKSdung8CIQChqts3cpW/OOp5PS2bEm23Bf7SWksW2kRvXj6E
|
|
|
+ pjFODQ==
|
|
|
-----END CERTIFICATE-----
|
|
|
"""
|
|
|
|
|
|
private let serverExplicitCurveKey = """
|
|
|
-----BEGIN EC PRIVATE KEY-----
|
|
|
- MIIBaAIBAQQgD0lwrHX5wodoQFB4jhY7eqH4x5oBgL8aMjK9XndZODWggfowgfcC
|
|
|
+ MIIBaAIBAQQgYvOsKzMIHYIhfoUF1YqrM64ZR0Aotb++nOzoDB5mPrqggfowgfcC
|
|
|
AQEwLAYHKoZIzj0BAQIhAP////8AAAABAAAAAAAAAAAAAAAA////////////////
|
|
|
MFsEIP////8AAAABAAAAAAAAAAAAAAAA///////////////8BCBaxjXYqjqT57Pr
|
|
|
vVV2mIa8ZR0GsMxTsPY7zjw+J9JgSwMVAMSdNgiG5wSTamZ44ROdJreBn36QBEEE
|
|
|
axfR8uEsQkf4vOblY6RA8ncDfYEt6zOg9KE5RdiYwpZP40Li/hp/m47n60p8D54W
|
|
|
K84zV2sxXs7LtkBoN79R9QIhAP////8AAAAA//////////+85vqtpxeehPO5ysL8
|
|
|
- YyVRAgEBoUQDQgAEEmbWCsr4xe7glhmpTrMPX3DgyFa6Gk9p2rs+WlLHPixwxtai
|
|
|
- u2Hqk3/2GKosDAp7HuEi5pJcX7zc4RIk9M5qBA==
|
|
|
+ YyVRAgEBoUQDQgAEMmCkGv1mGJ2QZaeNb6G+E8tNQf1XiI2v5Y2xvYeNArg2Wg5q
|
|
|
+ 5FDiaVznfhd4HJrm1HJpzPKVkcfq4LtQsIDxdw==
|
|
|
-----END EC PRIVATE KEY-----
|
|
|
"""
|
|
|
|