Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/quite/humla-spongycastle.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Hook <dgh@cryptoworkshop.com>2013-05-25 12:46:44 +0400
committerDavid Hook <dgh@cryptoworkshop.com>2013-05-25 12:46:44 +0400
commit3679995200ebb4180a2f1961b74fd5a34f2b8769 (patch)
tree636b36fae18ca256dcacb76f4626cc79679b2409
parent861c1ae4dc45a820ab605c84c136684de73c285d (diff)
further resource/doc file moving
-rw-r--r--docs/GnuTLSSetup.txt18
-rw-r--r--docs/OpenSSLSetup.txt16
-rw-r--r--src/test/resources/org/bouncycastle/crypto/tls/test/x509-ca-key.pem165
-rw-r--r--src/test/resources/org/bouncycastle/crypto/tls/test/x509-ca.pem20
-rw-r--r--src/test/resources/org/bouncycastle/crypto/tls/test/x509-server-key.pem165
-rw-r--r--src/test/resources/org/bouncycastle/crypto/tls/test/x509-server.pem22
6 files changed, 406 insertions, 0 deletions
diff --git a/docs/GnuTLSSetup.txt b/docs/GnuTLSSetup.txt
new file mode 100644
index 00000000..0112c51e
--- /dev/null
+++ b/docs/GnuTLSSetup.txt
@@ -0,0 +1,18 @@
+-----------------------------------------------------------------------
+Instructions for setting up a GnuTLS server for use with DTLSClientTest
+-----------------------------------------------------------------------
+
+- Download GnuTLS from http://www.gnutls.org/download.html
+
+- Unpack to folder and add ${GNUTLS_HOME}/bin to PATH
+
+- Make a working folder somewhere and copy the x509-*.pem from this package to there.
+
+- Go to working folder and start GnuTLS server (defaults to port 5556):
+TLS:
+ gnutls-serv --http --x509cafile x509-ca.pem --x509keyfile x509-server-key.pem --x509certfile x509-server.pem
+DTLS:
+ gnutls-serv --echo --udp --mtu 1500 --x509cafile x509-ca.pem --x509keyfile x509-server-key.pem --x509certfile x509-server.pem
+
+- Further information in GnuTLS documentation at http://www.gnutls.org/documentation.html
+ see "7.2. Invoking gnutls-serv", section titled "gnutls-serv Examples" if you want to generate your own keys and certificates.
diff --git a/docs/OpenSSLSetup.txt b/docs/OpenSSLSetup.txt
new file mode 100644
index 00000000..4524264a
--- /dev/null
+++ b/docs/OpenSSLSetup.txt
@@ -0,0 +1,16 @@
+-------------------------------------------------------------------------
+Instructions for setting up an OpenSSL server for use with DTLSClientTest
+-------------------------------------------------------------------------
+
+- Download and Install OpenSSL (exercise for the reader)
+
+- Make a working folder somewhere and copy the x509-*.pem from this package to there.
+
+- Go to working folder and start OpenSSL server:
+TLS:
+ openssl s_server -accept 5556 -debug -msg -state -tls1_1 -www -CAfile x509-ca.pem -cert x509-server.pem -key x509-server-key.pem
+DTLS:
+ openssl s_server -accept 5556 -mtu 1500 -debug -msg -state -dtls1 -CAfile x509-ca.pem -cert x509-server.pem -key x509-server-key.pem
+
+NOTE: This is mainly of use to test the handshake. There doesn't appear to be an 'echo server' option with DTLS, but it will print
+ to stdout anything you send it, and lines you type into stdin (at the server) will be sent to the client.
diff --git a/src/test/resources/org/bouncycastle/crypto/tls/test/x509-ca-key.pem b/src/test/resources/org/bouncycastle/crypto/tls/test/x509-ca-key.pem
new file mode 100644
index 00000000..6607b2cd
--- /dev/null
+++ b/src/test/resources/org/bouncycastle/crypto/tls/test/x509-ca-key.pem
@@ -0,0 +1,165 @@
+Public Key Info:
+ Public Key Algorithm: RSA
+ Key Security Level: Normal (2432 bits)
+
+modulus:
+ 00:b9:37:cd:af:ea:d6:f2:fa:f5:ef:e1:fb:de:74:
+ 2a:7e:1c:c5:28:07:e4:37:72:3d:19:75:97:c2:b5:
+ ca:34:dc:e8:c8:8e:33:8f:6b:da:34:9c:2c:56:c2:
+ f0:46:57:57:92:df:36:5f:82:3f:15:11:15:c0:34:
+ 65:b5:e8:b9:f0:42:65:f2:16:b3:0a:5d:35:8d:f1:
+ a5:11:00:3e:3c:e1:7e:04:32:dc:3f:5a:c2:09:15:
+ 9b:68:20:f4:94:c2:dc:6f:fa:7a:61:27:28:f3:f3:
+ 4b:5d:7c:7c:50:a3:80:a6:a3:6a:c2:c8:70:80:fb:
+ 66:f2:f0:73:59:13:ae:53:0e:1e:4f:4e:9e:9b:9b:
+ 3a:2a:ef:3a:5b:c6:56:00:fe:34:b0:63:ea:21:cd:
+ c5:91:ee:3b:8e:47:b4:25:c1:30:1f:92:5d:92:b0:
+ e7:e1:79:6b:a0:3c:5b:6c:d1:bc:d1:75:bc:d0:d5:
+ 67:d1:17:fd:8c:64:05:b0:72:23:88:eb:fb:6f:93:
+ 8e:15:bb:87:e6:79:2a:38:80:fe:ff:3b:d1:67:89:
+ 32:ff:11:b0:bb:29:6e:85:a7:83:5a:af:17:51:98:
+ e7:e4:4d:91:b7:a3:55:f9:f5:66:16:21:ab:6f:ff:
+ 11:cb:f1:81:49:a6:70:c4:fe:e7:2b:b3:7c:dc:bb:
+ 96:9c:63:5b:7f:b5:7a:41:4f:3a:7f:44:9d:61:44:
+ 9b:69:35:49:6e:ca:23:f9:48:1d:12:12:30:5f:f2:
+ 6a:0f:99:8c:ee:98:f9:68:60:e4:21:5d:75:30:21:
+ cc:51:2f:9a:79:
+
+public exponent:
+ 01:00:01:
+
+private exponent:
+ 00:a0:d9:d0:9c:6d:13:1d:53:4b:50:77:6e:38:23:
+ a4:5f:7f:76:cd:2c:05:4b:0d:bf:f8:23:42:97:cb:
+ 2e:7f:38:36:45:2e:11:a3:05:64:2b:fa:51:1b:4c:
+ 12:44:d4:47:6e:7a:c1:0a:b2:df:3b:d9:69:8d:51:
+ 33:df:85:ec:2c:b6:4d:38:af:f3:ef:15:41:94:32:
+ fe:4a:44:6e:c8:8a:7f:d8:ff:9e:7c:ba:c1:f6:07:
+ b8:bd:f6:98:d1:b4:64:a2:2e:e2:27:0b:4e:2a:85:
+ e8:b6:98:8c:91:af:5c:e3:da:d9:b5:ad:42:df:10:
+ f5:b8:17:8f:e5:15:0d:78:7d:b3:5e:e6:85:21:d7:
+ ed:ed:29:73:02:0e:bd:d4:00:f0:1b:1b:ba:52:7f:
+ 14:8c:84:e0:0f:e1:d1:45:f0:35:c9:14:f3:d3:33:
+ 08:49:5e:b1:0d:8f:5b:6b:57:86:8b:96:e1:c0:19:
+ 47:10:87:d5:ed:a0:66:7f:0f:f9:d4:bf:0a:9e:23:
+ c6:17:3f:0f:a2:d5:61:00:b1:10:86:6e:98:c9:7e:
+ 5a:51:02:5a:8d:0f:02:e3:cb:4a:63:35:66:fd:79:
+ c8:55:8b:75:04:00:c6:a9:43:af:ce:30:48:46:a8:
+ a1:51:90:65:72:55:c2:7a:c9:21:87:10:de:e5:b1:
+ af:7c:2d:be:ca:78:e0:0f:3d:bf:36:cd:e0:c5:a5:
+ d0:af:3d:6b:0f:5e:d3:46:38:e4:c9:71:fa:57:e6:
+ 8d:c5:99:bb:c6:47:dd:44:7d:9b:ee:04:3c:67:08:
+ 6b:41:75:d3:6d:
+
+prime1:
+ 00:c9:d6:4e:6a:2c:f8:ac:d5:c0:3a:74:7f:d2:b1:
+ 88:d8:7b:91:98:b1:b3:48:83:88:e7:ec:65:f9:5c:
+ b1:0d:21:ce:a8:31:3b:ef:e6:55:02:13:1d:c1:e4:
+ ac:76:8c:c5:3c:93:f0:ed:6d:00:2f:08:7c:9f:f6:
+ e4:3d:20:01:26:d3:35:7f:e9:56:ad:64:84:a9:f5:
+ 9f:8e:6c:ea:f3:0e:a3:7b:fa:fb:6e:17:9e:99:af:
+ e2:ad:f2:4a:01:6e:1f:e4:59:24:cf:c8:01:c6:fc:
+ b1:b5:9b:49:1c:26:14:f9:cc:fc:12:a5:5f:b3:cd:
+ f2:a2:3f:80:89:9a:3a:57:cb:62:ae:3b:88:b3:bc:
+ 82:eb:77:6d:bd:04:aa:fa:86:87:f9:02:54:9a:5e:
+ 88:5f:fb:
+
+prime2:
+ 00:ea:eb:cd:d5:6d:49:5e:f6:33:6e:b4:7e:d1:82:
+ 6f:bd:0e:f0:ae:61:0e:9a:a6:16:55:20:e8:ee:f7:
+ 50:a1:bd:a9:d1:18:a5:ce:11:88:2a:4c:42:e5:df:
+ f0:1a:c1:8d:15:b9:3e:75:05:d8:ea:c6:2e:80:cc:
+ d8:c5:5b:d4:10:c1:71:f6:91:42:58:93:fe:75:93:
+ 28:1c:7d:e2:9d:51:fa:b2:fe:50:0e:0a:6b:45:f8:
+ 61:ae:95:d8:70:78:69:fb:79:fa:4a:14:30:1d:6b:
+ b3:86:17:44:fc:5c:77:6b:08:73:2c:de:61:b6:41:
+ 40:70:50:ba:ec:f4:04:02:92:8c:7f:54:e2:16:61:
+ bc:64:36:69:ea:aa:37:5e:c5:f2:26:06:34:ff:46:
+ 50:81:1b:
+
+coefficient:
+ 00:bd:99:45:95:21:7e:77:c9:79:cd:d6:41:bf:d5:
+ 7b:88:9d:5a:4e:19:1a:13:41:b8:fd:dd:9d:11:5b:
+ dd:83:fa:08:82:b4:ee:52:ec:dc:69:f8:ea:fd:42:
+ 0d:e6:4b:ad:f1:87:e3:92:82:42:10:b0:d2:5a:b5:
+ c7:74:99:6c:86:a1:ad:09:c2:c4:99:8c:11:c4:bb:
+ ba:30:19:05:07:3a:4d:4f:10:5e:fd:30:60:f8:13:
+ 62:7b:05:a2:00:1c:d5:30:9a:81:af:ed:b9:9f:ed:
+ 7d:36:88:7e:2f:16:12:aa:e5:af:e8:e9:87:8f:80:
+ 87:f5:74:f9:a2:30:92:6d:2e:ff:c2:82:12:e8:2d:
+ 2d:72:84:a9:2e:0a:24:fa:00:0a:05:e2:55:51:11:
+ a5:cc:81:
+
+exp1:
+ 6b:7b:a8:7e:7a:3c:63:2d:e1:14:3f:fd:e1:e1:91:
+ 12:57:9b:8d:48:f4:44:65:67:7e:ba:31:03:be:0c:
+ bb:05:89:db:9f:7c:5f:a0:b5:1c:49:b9:cb:0b:4f:
+ 9c:42:12:b6:d3:c1:b5:6e:1a:6e:f1:82:0c:5d:99:
+ e5:c3:29:59:d7:97:e1:ea:0c:b2:81:98:f4:39:4d:
+ 22:b7:75:d6:c1:b0:e5:d1:1e:1b:de:90:23:1f:bb:
+ 03:0e:c7:c2:43:36:d0:8f:78:3e:fe:2f:94:1b:f5:
+ 36:d4:de:f6:12:81:91:15:4c:17:51:e1:c9:0a:9f:
+ 6f:2f:89:ef:bd:25:dc:a2:fe:85:f2:46:36:10:e9:
+ 57:23:5e:59:0e:27:4f:0a:5d:56:89:9b:2c:29:b3:
+ 4e:09:
+
+exp2:
+ 00:86:95:f5:64:72:a9:f8:37:80:9b:c9:d8:65:db:
+ 1e:7c:e7:94:47:b2:df:15:06:56:01:0b:4b:a7:ac:
+ 14:8b:b5:07:16:fd:d1:ef:ce:e7:7d:a4:17:27:6f:
+ 36:35:7d:f1:80:22:92:7f:a4:8b:f3:64:fa:bb:5b:
+ a0:4c:e1:21:0b:40:68:33:e4:60:68:32:d1:33:36:
+ cd:62:15:54:c0:e0:78:8a:17:5c:71:ce:d2:4a:51:
+ d4:54:9b:10:56:cf:05:98:c6:f6:f7:7d:bd:5a:fd:
+ 9a:ea:15:66:b6:55:9b:2c:bc:b8:8f:5a:10:0c:c4:
+ 31:50:a7:4f:8f:f4:f4:5f:2c:ea:45:00:b2:4e:34:
+ 4c:23:f5:70:94:ba:53:e2:7d:f1:0e:8b:bb:cd:0b:
+ d1:8f:45:
+
+
+Public Key ID: 12:B5:DC:B6:C0:EA:82:D5:E9:EB:3E:BF:50:F3:76:58:E1:36:01:73
+Public key's random art:
++--[ RSA 2432]----+
+| . o E |
+| + o + |
+| . = o o |
+| . + o o o |
+| . = S . = |
+| o o o o + . |
+| . . + + . |
+| ..o . . |
+| o+oo. |
++-----------------+
+
+-----BEGIN RSA PRIVATE KEY-----
+MIIFfQIBAAKCATEAuTfNr+rW8vr17+H73nQqfhzFKAfkN3I9GXWXwrXKNNzoyI4z
+j2vaNJwsVsLwRldXkt82X4I/FREVwDRltei58EJl8hazCl01jfGlEQA+POF+BDLc
+P1rCCRWbaCD0lMLcb/p6YSco8/NLXXx8UKOApqNqwshwgPtm8vBzWROuUw4eT06e
+m5s6Ku86W8ZWAP40sGPqIc3Fke47jke0JcEwH5JdkrDn4XlroDxbbNG80XW80NVn
+0Rf9jGQFsHIjiOv7b5OOFbuH5nkqOID+/zvRZ4ky/xGwuyluhaeDWq8XUZjn5E2R
+t6NV+fVmFiGrb/8Ry/GBSaZwxP7nK7N83LuWnGNbf7V6QU86f0SdYUSbaTVJbsoj
++UgdEhIwX/JqD5mM7pj5aGDkIV11MCHMUS+aeQIDAQABAoIBMQCg2dCcbRMdU0tQ
+d244I6Rff3bNLAVLDb/4I0KXyy5/ODZFLhGjBWQr+lEbTBJE1EduesEKst872WmN
+UTPfhewstk04r/PvFUGUMv5KRG7Iin/Y/558usH2B7i99pjRtGSiLuInC04qhei2
+mIyRr1zj2tm1rULfEPW4F4/lFQ14fbNe5oUh1+3tKXMCDr3UAPAbG7pSfxSMhOAP
+4dFF8DXJFPPTMwhJXrENj1trV4aLluHAGUcQh9XtoGZ/D/nUvwqeI8YXPw+i1WEA
+sRCGbpjJflpRAlqNDwLjy0pjNWb9echVi3UEAMapQ6/OMEhGqKFRkGVyVcJ6ySGH
+EN7lsa98Lb7KeOAPPb82zeDFpdCvPWsPXtNGOOTJcfpX5o3FmbvGR91EfZvuBDxn
+CGtBddNtAoGZAMnWTmos+KzVwDp0f9KxiNh7kZixs0iDiOfsZflcsQ0hzqgxO+/m
+VQITHcHkrHaMxTyT8O1tAC8IfJ/25D0gASbTNX/pVq1khKn1n45s6vMOo3v6+24X
+npmv4q3ySgFuH+RZJM/IAcb8sbWbSRwmFPnM/BKlX7PN8qI/gImaOlfLYq47iLO8
+gut3bb0EqvqGh/kCVJpeiF/7AoGZAOrrzdVtSV72M260ftGCb70O8K5hDpqmFlUg
+6O73UKG9qdEYpc4RiCpMQuXf8BrBjRW5PnUF2OrGLoDM2MVb1BDBcfaRQliT/nWT
+KBx94p1R+rL+UA4Ka0X4Ya6V2HB4aft5+koUMB1rs4YXRPxcd2sIcyzeYbZBQHBQ
+uuz0BAKSjH9U4hZhvGQ2aeqqN17F8iYGNP9GUIEbAoGYa3uofno8Yy3hFD/94eGR
+ElebjUj0RGVnfroxA74MuwWJ2598X6C1HEm5ywtPnEISttPBtW4abvGCDF2Z5cMp
+WdeX4eoMsoGY9DlNIrd11sGw5dEeG96QIx+7Aw7HwkM20I94Pv4vlBv1NtTe9hKB
+kRVMF1HhyQqfby+J770l3KL+hfJGNhDpVyNeWQ4nTwpdVombLCmzTgkCgZkAhpX1
+ZHKp+DeAm8nYZdsefOeUR7LfFQZWAQtLp6wUi7UHFv3R787nfaQXJ282NX3xgCKS
+f6SL82T6u1ugTOEhC0BoM+RgaDLRMzbNYhVUwOB4ihdccc7SSlHUVJsQVs8FmMb2
+9329Wv2a6hVmtlWbLLy4j1oQDMQxUKdPj/T0XyzqRQCyTjRMI/VwlLpT4n3xDou7
+zQvRj0UCgZkAvZlFlSF+d8l5zdZBv9V7iJ1aThkaE0G4/d2dEVvdg/oIgrTuUuzc
+afjq/UIN5kut8YfjkoJCELDSWrXHdJlshqGtCcLEmYwRxLu6MBkFBzpNTxBe/TBg
++BNiewWiABzVMJqBr+25n+19Noh+LxYSquWv6OmHj4CH9XT5ojCSbS7/woIS6C0t
+coSpLgok+gAKBeJVURGlzIE=
+-----END RSA PRIVATE KEY-----
diff --git a/src/test/resources/org/bouncycastle/crypto/tls/test/x509-ca.pem b/src/test/resources/org/bouncycastle/crypto/tls/test/x509-ca.pem
new file mode 100644
index 00000000..047c72fd
--- /dev/null
+++ b/src/test/resources/org/bouncycastle/crypto/tls/test/x509-ca.pem
@@ -0,0 +1,20 @@
+-----BEGIN CERTIFICATE-----
+MIIDVzCCAg+gAwIBAgIEUSnjOzANBgkqhkiG9w0BAQsFADAZMRcwFQYDVQQDEw5H
+bnVUTFMgVGVzdCBDQTAiGA8yMDEzMDIyNDA5NTQwNFoYDzIwMTUxMTIxMDk1NDA3
+WjAZMRcwFQYDVQQDEw5HbnVUTFMgVGVzdCBDQTCCAVIwDQYJKoZIhvcNAQEBBQAD
+ggE/ADCCAToCggExALk3za/q1vL69e/h+950Kn4cxSgH5DdyPRl1l8K1yjTc6MiO
+M49r2jScLFbC8EZXV5LfNl+CPxURFcA0ZbXoufBCZfIWswpdNY3xpREAPjzhfgQy
+3D9awgkVm2gg9JTC3G/6emEnKPPzS118fFCjgKajasLIcID7ZvLwc1kTrlMOHk9O
+npubOirvOlvGVgD+NLBj6iHNxZHuO45HtCXBMB+SXZKw5+F5a6A8W2zRvNF1vNDV
+Z9EX/YxkBbByI4jr+2+TjhW7h+Z5KjiA/v870WeJMv8RsLspboWng1qvF1GY5+RN
+kbejVfn1ZhYhq2//EcvxgUmmcMT+5yuzfNy7lpxjW3+1ekFPOn9EnWFEm2k1SW7K
+I/lIHRISMF/yag+ZjO6Y+Whg5CFddTAhzFEvmnkCAwEAAaNDMEEwDwYDVR0TAQH/
+BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwQAMB0GA1UdDgQWBBQStdy2wOqC1enrPr9Q
+83ZY4TYBczANBgkqhkiG9w0BAQsFAAOCATEAmZv6isnRkCv3cRn67AgEQOXCpgf8
+do1vGtdQh6NgXo0ua4tg/+YOLsNRhUCkbwiCyP2lUIoLIeYiUWUfvE8GP8hJyF63
+el5te74ymCasPPGKruEvxuthgUW5V8HoqwcAIDyHsoSJmex/Wk7cXg2VKhRr5tGn
+d8nUsascYItIhoLFIG/2oI9zMB70SNI9jsPZ/BxWRy0fFH8DLjvU8JMsl5oF0HyV
+PP2kmI2Px81T/+RgNmM9c8m5uLItQ4F7U5ChDMKa5IcUO57aKp4aLePf1QGlfPuD
+YH41hy+m2EtUdYOCrzKg0RxYoFzwnMmxOJi7za2Daqdy/JUsqvIhbVHcMiMlvlni
+dU4IM63xNvVvVVuwMkqeO+QTz7xWAQRu545yCFST8ipFT+qhWG6XHqLGgQ==
+-----END CERTIFICATE-----
diff --git a/src/test/resources/org/bouncycastle/crypto/tls/test/x509-server-key.pem b/src/test/resources/org/bouncycastle/crypto/tls/test/x509-server-key.pem
new file mode 100644
index 00000000..a35135ce
--- /dev/null
+++ b/src/test/resources/org/bouncycastle/crypto/tls/test/x509-server-key.pem
@@ -0,0 +1,165 @@
+Public Key Info:
+ Public Key Algorithm: RSA
+ Key Security Level: Normal (2432 bits)
+
+modulus:
+ 00:cf:0a:15:dd:3e:79:2c:99:e6:bd:25:cd:1f:d8:
+ e3:3d:b0:ce:6b:57:eb:ec:ac:71:a6:ee:7a:60:d1:
+ 66:6d:5f:42:e0:c9:25:03:bb:fa:6b:e2:f6:17:00:
+ 99:aa:52:0a:7b:a1:11:94:b7:5b:44:64:ef:0f:b8:
+ e1:71:e2:64:3a:ed:32:72:c0:80:db:23:ca:56:db:
+ 43:4a:2f:b0:6f:57:e1:86:b9:8c:f0:4e:7b:80:50:
+ b6:4b:9c:be:43:83:e3:a7:1b:c9:52:c8:2e:d6:14:
+ d7:02:cb:d2:08:00:49:68:c7:ea:71:46:22:b8:33:
+ 63:f9:2c:9c:62:3c:d9:9f:ab:47:e4:24:7e:f0:bd:
+ 9f:93:f2:97:9b:fc:6b:25:88:0d:37:d2:e2:05:64:
+ bc:ec:fb:86:f8:89:07:22:2a:c6:d3:1c:8f:5c:de:
+ f5:0b:f7:e5:59:b1:0a:eb:c5:7f:7a:3e:9f:0d:90:
+ 37:ee:99:3a:74:6b:1e:d5:b0:11:ae:3b:73:0b:8d:
+ 45:e1:60:a7:15:0f:67:40:2f:0c:8d:fa:6f:09:60:
+ 81:eb:a7:6e:38:c6:28:2d:e9:32:b1:d6:fc:b0:de:
+ 1a:db:2c:ee:54:f8:6c:eb:69:8c:da:12:e1:48:bf:
+ e8:4a:53:bb:50:4c:0d:36:6d:9a:72:c6:a0:86:2a:
+ c1:df:48:43:a6:d2:f6:94:e5:9d:0c:fe:e3:2b:e1:
+ 2c:ff:4e:89:21:c9:92:ab:32:1c:02:13:5f:4e:4e:
+ 11:cb:3e:40:8a:ca:f6:6e:b7:4d:21:72:be:6b:90:
+ e4:88:34:d9:23:
+
+public exponent:
+ 01:00:01:
+
+private exponent:
+ 12:bb:cc:e2:aa:06:78:dc:ac:1e:2d:4f:74:34:41:
+ cb:91:35:fc:4c:86:52:72:00:0e:a4:c1:7a:05:38:
+ 89:68:f7:3a:33:b9:1f:af:60:a7:66:6f:f2:00:e1:
+ e6:a1:69:c5:69:fb:97:43:48:04:d6:45:33:5c:fd:
+ 39:3a:cc:ea:f0:0f:82:86:9c:a2:37:88:d5:77:1d:
+ 8d:96:e7:16:0c:13:a2:07:24:13:92:66:66:63:e7:
+ 3a:cc:42:03:05:ea:11:72:d8:32:9f:5e:6d:8c:91:
+ 2f:f5:95:59:97:fd:0c:78:1a:64:89:7e:16:c0:bf:
+ a9:0a:3a:54:41:41:47:cb:4d:c3:fc:f1:67:83:20:
+ ef:58:22:13:c1:31:48:c2:18:c0:16:5a:d1:36:1e:
+ 4a:2b:06:85:92:1c:d9:73:9b:77:3a:43:d9:2e:94:
+ 5d:e7:64:57:3b:9d:f0:78:c0:68:e2:10:21:9e:aa:
+ a7:df:42:1c:91:75:06:48:d6:02:1c:a7:0a:8f:fe:
+ 07:b1:f5:bc:1d:25:e3:56:8f:bf:8b:c0:9f:a7:cb:
+ 08:75:0c:19:0d:0c:fa:b5:9f:f9:56:79:a4:bd:fa:
+ 77:ba:b9:0a:46:3e:dc:1c:40:2b:11:d9:f1:fc:b7:
+ 2a:3c:6d:8d:1f:0e:6f:ea:8a:c3:73:c2:80:01:5c:
+ 6f:17:d3:ec:5c:dd:38:95:ac:28:a7:f3:59:2d:e1:
+ b8:37:22:0b:04:29:bc:2e:02:9f:1e:86:56:fc:6c:
+ 56:45:1b:3f:b9:a4:8a:63:ae:9a:e7:08:35:46:22:
+ 1d:42:76:b1:
+
+prime1:
+ 00:dc:67:45:e8:be:de:ce:37:0d:e3:72:8d:c5:21:
+ 07:0b:86:92:6e:30:e4:7c:6d:37:1f:48:8a:a7:98:
+ 0f:07:1a:3b:fc:a9:02:5f:27:f2:35:77:e4:2a:87:
+ 15:34:d0:a1:94:31:3a:81:45:50:7b:b5:f2:7a:09:
+ 5f:68:6b:6c:cc:de:cc:cd:b7:bf:68:f2:f8:18:c0:
+ fc:a8:56:cc:ef:01:39:d9:b4:16:74:2b:51:33:c2:
+ 7d:c9:10:2b:34:3a:89:f5:09:00:af:32:15:09:31:
+ 76:45:98:42:d2:f9:d2:fc:40:95:d5:7b:ee:77:f4:
+ 72:33:62:c1:fb:cb:dd:1e:3e:af:36:f7:1b:88:84:
+ 43:9b:81:e1:f6:e6:54:c9:45:85:aa:b6:4e:b5:51:
+ f7:e3:35:
+
+prime2:
+ 00:f0:7a:44:a7:9a:1a:75:55:f5:d8:67:94:34:fd:
+ af:e9:82:ff:4e:6a:4b:16:25:df:ff:65:10:15:e2:
+ 3e:22:9c:14:a4:fd:e3:4d:60:f5:5a:9f:03:4e:a7:
+ 0d:4e:42:93:e6:8c:e8:26:85:09:9b:cd:53:26:2d:
+ bd:55:ec:09:67:68:35:bf:c4:06:01:f2:3c:ba:73:
+ c2:3e:01:a7:83:af:2a:f0:64:ab:22:c8:5b:bf:32:
+ 1d:f6:ac:5f:8c:ca:1d:60:f1:ff:04:13:13:8b:3e:
+ 84:11:bb:fc:c6:09:4a:8b:75:49:b6:2c:ea:8d:68:
+ 6a:c9:2d:5d:34:f2:82:b7:9b:1b:65:51:77:4a:e8:
+ ce:33:33:b2:55:44:82:ef:ac:5e:38:bc:26:ab:0c:
+ f1:3d:f7:
+
+coefficient:
+ 58:f9:a5:04:76:4a:f5:91:33:39:44:a6:f6:e8:0e:
+ 91:49:0e:56:fc:09:da:77:b4:3d:23:4e:55:21:c1:
+ c8:1f:aa:69:d1:e9:30:bc:22:d7:ac:b5:61:38:8f:
+ fa:11:d8:7d:9b:99:f9:8d:d3:2c:73:35:c8:05:2b:
+ 7b:bd:5a:cd:75:aa:f5:67:e5:87:b6:36:5f:2e:0f:
+ 07:99:b1:92:23:74:33:53:5a:ae:98:29:63:cb:2b:
+ 29:17:ae:b5:50:4c:a5:6a:cd:b3:55:0f:22:2b:d4:
+ ed:5c:93:61:43:16:6e:0a:ba:b4:7c:39:7c:db:6c:
+ 45:32:af:ef:20:ad:d1:e4:ee:b0:d8:94:1b:71:af:
+ 4e:2d:ca:9a:5f:0d:8f:ab:17:59:6c:ae:11:be:ed:
+ a5:af:
+
+exp1:
+ 6a:a6:ea:b4:5a:90:74:57:3d:b8:3f:39:8d:17:93:
+ 52:27:77:7a:2c:dc:93:bd:41:bc:38:9d:27:c6:34:
+ 17:6a:c1:76:5c:ce:51:ff:81:7c:10:1c:ef:db:58:
+ 0e:ab:9a:54:9c:91:c3:f6:27:a1:05:85:65:3a:5d:
+ d9:a8:8a:08:85:13:b3:c4:63:b2:44:48:7b:a9:ff:
+ 58:f2:4f:ce:a3:d8:3b:99:a2:77:ea:72:2b:ca:c4:
+ 95:63:e6:94:2a:73:91:88:1e:b5:a8:55:77:92:60:
+ ba:02:98:eb:80:8a:71:18:4b:a8:f7:84:88:b5:58:
+ 01:b7:9b:48:dd:f8:8c:e7:26:60:41:a9:28:21:60:
+ 99:c2:7a:f6:bf:b4:6d:84:df:ce:a0:d3:6b:78:53:
+ ac:b5:
+
+exp2:
+ 60:2a:85:0a:01:36:53:75:ec:ba:7d:b1:66:ff:8c:
+ 39:75:89:63:72:5e:54:9d:10:d6:b1:33:9d:8c:bc:
+ 0c:5b:1e:66:5c:a1:69:70:3c:ad:e0:a9:11:ea:fc:
+ 07:2f:d8:b5:79:e3:dc:83:97:34:17:08:09:5c:81:
+ 3a:bb:09:87:b0:c4:cd:cb:36:1b:d1:23:37:ec:d2:
+ e0:b9:08:a4:40:88:8b:59:b6:96:52:49:5e:4c:4c:
+ 6f:38:bf:7d:2d:d6:51:ce:74:8c:cc:94:24:3a:fb:
+ d5:9b:b7:99:fa:5d:35:27:d2:32:68:03:e4:48:bd:
+ 6b:76:18:af:f3:cb:12:61:94:b3:0f:c1:04:d3:d4:
+ a1:e5:2a:8b:ae:ba:2d:de:60:4f:8f:ee:66:b8:e6:
+ 40:41:
+
+
+Public Key ID: 4A:5E:69:1E:B0:14:BF:48:EA:59:0B:4E:0B:0E:A1:07:17:43:18:05
+Public key's random art:
++--[ RSA 2432]----+
+|E*= . |
+|. o o |
+|o . + . |
+|.+ + + o |
+|o o + = S |
+| + = B * . |
+| . = + . |
+| |
+| |
++-----------------+
+
+-----BEGIN RSA PRIVATE KEY-----
+MIIFegIBAAKCATEAzwoV3T55LJnmvSXNH9jjPbDOa1fr7Kxxpu56YNFmbV9C4Mkl
+A7v6a+L2FwCZqlIKe6ERlLdbRGTvD7jhceJkOu0ycsCA2yPKVttDSi+wb1fhhrmM
+8E57gFC2S5y+Q4PjpxvJUsgu1hTXAsvSCABJaMfqcUYiuDNj+SycYjzZn6tH5CR+
+8L2fk/KXm/xrJYgNN9LiBWS87PuG+IkHIirG0xyPXN71C/flWbEK68V/ej6fDZA3
+7pk6dGse1bARrjtzC41F4WCnFQ9nQC8MjfpvCWCB66duOMYoLekysdb8sN4a2yzu
+VPhs62mM2hLhSL/oSlO7UEwNNm2acsaghirB30hDptL2lOWdDP7jK+Es/06JIcmS
+qzIcAhNfTk4Ryz5Aisr2brdNIXK+a5DkiDTZIwIDAQABAoIBMBK7zOKqBnjcrB4t
+T3Q0QcuRNfxMhlJyAA6kwXoFOIlo9zozuR+vYKdmb/IA4eahacVp+5dDSATWRTNc
+/Tk6zOrwD4KGnKI3iNV3HY2W5xYME6IHJBOSZmZj5zrMQgMF6hFy2DKfXm2MkS/1
+lVmX/Qx4GmSJfhbAv6kKOlRBQUfLTcP88WeDIO9YIhPBMUjCGMAWWtE2HkorBoWS
+HNlzm3c6Q9kulF3nZFc7nfB4wGjiECGeqqffQhyRdQZI1gIcpwqP/gex9bwdJeNW
+j7+LwJ+nywh1DBkNDPq1n/lWeaS9+ne6uQpGPtwcQCsR2fH8tyo8bY0fDm/qisNz
+woABXG8X0+xc3TiVrCin81kt4bg3IgsEKbwuAp8ehlb8bFZFGz+5pIpjrprnCDVG
+Ih1CdrECgZkA3GdF6L7ezjcN43KNxSEHC4aSbjDkfG03H0iKp5gPBxo7/KkCXyfy
+NXfkKocVNNChlDE6gUVQe7XyeglfaGtszN7Mzbe/aPL4GMD8qFbM7wE52bQWdCtR
+M8J9yRArNDqJ9QkArzIVCTF2RZhC0vnS/ECV1Xvud/RyM2LB+8vdHj6vNvcbiIRD
+m4Hh9uZUyUWFqrZOtVH34zUCgZkA8HpEp5oadVX12GeUNP2v6YL/TmpLFiXf/2UQ
+FeI+IpwUpP3jTWD1Wp8DTqcNTkKT5ozoJoUJm81TJi29VewJZ2g1v8QGAfI8unPC
+PgGng68q8GSrIshbvzId9qxfjModYPH/BBMTiz6EEbv8xglKi3VJtizqjWhqyS1d
+NPKCt5sbZVF3SujOMzOyVUSC76xeOLwmqwzxPfcCgZhqpuq0WpB0Vz24PzmNF5NS
+J3d6LNyTvUG8OJ0nxjQXasF2XM5R/4F8EBzv21gOq5pUnJHD9iehBYVlOl3ZqIoI
+hROzxGOyREh7qf9Y8k/Oo9g7maJ36nIrysSVY+aUKnORiB61qFV3kmC6ApjrgIpx
+GEuo94SItVgBt5tI3fiM5yZgQakoIWCZwnr2v7RthN/OoNNreFOstQKBmGAqhQoB
+NlN17Lp9sWb/jDl1iWNyXlSdENaxM52MvAxbHmZcoWlwPK3gqRHq/Acv2LV549yD
+lzQXCAlcgTq7CYewxM3LNhvRIzfs0uC5CKRAiItZtpZSSV5MTG84v30t1lHOdIzM
+lCQ6+9Wbt5n6XTUn0jJoA+RIvWt2GK/zyxJhlLMPwQTT1KHlKouuui3eYE+P7ma4
+5kBBAoGYWPmlBHZK9ZEzOUSm9ugOkUkOVvwJ2ne0PSNOVSHByB+qadHpMLwi16y1
+YTiP+hHYfZuZ+Y3TLHM1yAUre71azXWq9Wflh7Y2Xy4PB5mxkiN0M1NarpgpY8sr
+KReutVBMpWrNs1UPIivU7VyTYUMWbgq6tHw5fNtsRTKv7yCt0eTusNiUG3GvTi3K
+ml8Nj6sXWWyuEb7tpa8=
+-----END RSA PRIVATE KEY-----
diff --git a/src/test/resources/org/bouncycastle/crypto/tls/test/x509-server.pem b/src/test/resources/org/bouncycastle/crypto/tls/test/x509-server.pem
new file mode 100644
index 00000000..b5152c02
--- /dev/null
+++ b/src/test/resources/org/bouncycastle/crypto/tls/test/x509-server.pem
@@ -0,0 +1,22 @@
+-----BEGIN CERTIFICATE-----
+MIIDjjCCAkagAwIBAgIEUSnjsTANBgkqhkiG9w0BAQsFADAZMRcwFQYDVQQDEw5H
+bnVUTFMgVGVzdCBDQTAiGA8yMDEzMDIyNDA5NTYwM1oYDzIwMTQwMjI1MDk1NjEw
+WjAdMRswGQYDVQQDExJHbnVUTFMgVGVzdCBTZXJ2ZXIwggFSMA0GCSqGSIb3DQEB
+AQUAA4IBPwAwggE6AoIBMQDPChXdPnksmea9Jc0f2OM9sM5rV+vsrHGm7npg0WZt
+X0LgySUDu/pr4vYXAJmqUgp7oRGUt1tEZO8PuOFx4mQ67TJywIDbI8pW20NKL7Bv
+V+GGuYzwTnuAULZLnL5Dg+OnG8lSyC7WFNcCy9IIAElox+pxRiK4M2P5LJxiPNmf
+q0fkJH7wvZ+T8peb/GsliA030uIFZLzs+4b4iQciKsbTHI9c3vUL9+VZsQrrxX96
+Pp8NkDfumTp0ax7VsBGuO3MLjUXhYKcVD2dALwyN+m8JYIHrp244xigt6TKx1vyw
+3hrbLO5U+GzraYzaEuFIv+hKU7tQTA02bZpyxqCGKsHfSEOm0vaU5Z0M/uMr4Sz/
+TokhyZKrMhwCE19OThHLPkCKyvZut00hcr5rkOSINNkjAgMBAAGjdjB0MAwGA1Ud
+EwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0PAQH/BAUDAwegADAd
+BgNVHQ4EFgQUSl5pHrAUv0jqWQtOCw6hBxdDGAUwHwYDVR0jBBgwFoAUErXctsDq
+gtXp6z6/UPN2WOE2AXMwDQYJKoZIhvcNAQELBQADggExALTdtNzzbuBmZxRIr6nI
+57/T4HvpKs1A28Fgch3dTNy5Dj3p9/4FCJRQPxGdnP7hbrOVNMmiL99Rn53W6gws
+Oj8h5gyCqTXsYmjMw66qYnQLuHiSvaYlaE4k+koNzZdfkJ/olIfC6udlZJMQ+MLr
+YpFIJkHTdpXUwxo+q6Vp6u1a+1eUKgfBkUqEEkTAtKhDUnQBhtblpcrnOosaQr2r
+xEksgVCvHEDVsU9UNj7ciPillEkX5x9mHar3J8qCd3ZnIcXAEoK1e9vIqzNQEwz9
+BBSHjaJ8el1D1waE+cUZ+DB5LQfCfojUR/ya4eAKmcw/nuB+h+rMqv1/Q6ASqIoH
+7wzV69iI5kUbrxFvlo+RIcAIOTgoSCzkl2SBMJLeQs5//cLKnC6al9QG9l93vbpI
+Iw4=
+-----END CERTIFICATE-----