summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordefanor <defanor@uberspace.net>2017-05-05 16:52:42 +0300
committerdefanor <defanor@uberspace.net>2017-05-05 17:06:31 +0300
commitca1bb0b789e954643a1f025698c8b4a1bce1450d (patch)
tree84bd41cc1127c1eafcd01aac33d3a6fab157f3ec
parent14439c37cf36d9a25fc4c2023cc09d9b6ddf7ddd (diff)
Add the authenticate.sh test
The test is slow and unreliable, and should be fixed or replaced in the future. Test keys and certificates are added along with it.
-rw-r--r--Makefile.am16
-rw-r--r--configure.ac2
-rwxr-xr-xtests/authenticate.sh38
-rw-r--r--tests/test-cert-1.pem17
-rw-r--r--tests/test-cert-2.pem17
-rw-r--r--tests/test-key-1.pem144
-rw-r--r--tests/test-key-2.pem144
7 files changed, 376 insertions, 2 deletions
diff --git a/Makefile.am b/Makefile.am
index a64b713..7e31d9b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -12,7 +12,21 @@ fp2alias_CFLAGS = $(AM_CFLAGS)
std2fifo_SOURCES = std2fifo.c
std2fifo_CFLAGS = $(AM_CFLAGS)
+# tests
+
+TESTS = tests/authenticate.sh
+
+TESTS_ENVIRONMENT = \
+ builddir="$(builddir)" \
+ certdir="$(top_srcdir)/tests/"
+
+EXTRA_DIST = $(TESTS) \
+ tests/test-key-1.pem \
+ tests/test-cert-1.pem \
+ tests/test-key-2.pem \
+ tests/test-cert-2.pem
+
# docs
info_TEXINFOS = tlsd.texi
dist_man_MANS = tlsd.1 fp2alias.1 std2fifo.1
-EXTRA_DIST = examples
+EXTRA_DIST += examples
diff --git a/configure.ac b/configure.ac
index a78e808..8b877db 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.69])
-AC_INIT(TLSd, 0.0.3, defanor@uberspace.net, tlsd,
+AC_INIT(TLSd, 0.0.4, defanor@uberspace.net, tlsd,
https://defanor.uberspace.net/projects/tlsd/)
AM_INIT_AUTOMAKE([-Wall])
AC_CONFIG_SRCDIR([tlsd.c])
diff --git a/tests/authenticate.sh b/tests/authenticate.sh
new file mode 100755
index 0000000..5e8c63b
--- /dev/null
+++ b/tests/authenticate.sh
@@ -0,0 +1,38 @@
+#!/bin/sh
+# Basic authentication test. The test is slow and unreliable: it uses
+# `sleep` where something like `expect` would be more suitable,
+# doesn't perform any checks except for the final one, the port is
+# hardcoded, etc. And maybe it would be easier to just rewrite it in
+# C. But including this for now, since there is nothing else yet, and
+# it still may be useful for testing.
+
+builddir="${builddir:-.}"
+TLSD="${builddir}/tlsd"
+certdir="${certdir:-.}"
+result=1
+
+quit () {
+ rm -f client-cmd-out
+ kill %1 %2
+ exit $result
+}
+trap quit EXIT
+
+mkfifo client-cmd-out
+# Run the server
+${TLSD} -k "${certdir}/test-key-1.pem" -c "${certdir}/test-cert-1.pem" \
+ -i tlsd-test-server -p 45678 -- \
+ sh -c 'echo "${SIDE} talks to ${SHA256}"' </dev/null &
+sleep 10
+# Run the client, connect to the server
+echo 'localhost 45678' \
+ | ${TLSD} -k "${certdir}/test-key-2.pem" -c "${certdir}/test-cert-2.pem" \
+ -i tlsd-test-client -- sh -c \
+ '( echo "${SIDE} talks to ${SHA256}" && cat ) > client-cmd-out' &
+sleep 10
+# Check the output
+diff client-cmd-out - << EOF
+CLIENT talks to 70ec32556b3682681bd45d32609cfaa13391b69a5994c5cc3b8d2b249085cd0a
+SERVER talks to c287d5c79baf7eb44756f5cad81d2f84402c57dcdf2957d70c0b11d05cbf5f80
+EOF
+result=$?
diff --git a/tests/test-cert-1.pem b/tests/test-cert-1.pem
new file mode 100644
index 0000000..2d72d66
--- /dev/null
+++ b/tests/test-cert-1.pem
@@ -0,0 +1,17 @@
+-----BEGIN CERTIFICATE-----
+MIICxDCCAaygAwIBAgIIWQxZnTFzAkkwDQYJKoZIhvcNAQELBQAwADAgFw0xNzA1
+MDUxMDUzMTlaGA85OTk5MTIzMTIzNTk1OVowADCCASIwDQYJKoZIhvcNAQEBBQAD
+ggEPADCCAQoCggEBAOET2d8333nkA2QBMniGjwuQELe7c1YIiZxgWAeH083QCV0B
+v0PmAUPD8hkrh+TiNrWQ0ZjHepU6E8sKyg0wvXVKFFT7V5Sv4nQOnzEQ32f06fXO
+i1G5tTz4wL8ZtNSvFgRoCGfBtUJpY6YIVd/2YE0s1L/Z+z4FlAWtcayGuVaCsgK2
+Dn7D4sHza26RxAzl/L7JmAECXTIfD3PXsOyHKfyRZebOYWwpvyZo/CFsQJPTnTTV
+KCDtJeJU92zuQbQbDDCzJ7K0m/WYtlvbC3lL8YbD4kOc6lu685vOxZna4sKQN31A
+qoay5bS/y1hdVnMcGl6AEy+zCeQ9AT5zjY2X+bUCAwEAAaNAMD4wDAYDVR0TAQH/
+BAIwADAPBgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBSwu2bJ+Yr/UAXHROMcQnkY
+NVU80TANBgkqhkiG9w0BAQsFAAOCAQEAmlNKn8biYiJge5OilHk1+8X6WcaZIjaX
+qMyWGufzhUcuZmQKqUzIlfArRIOCbzFaGEMCTgFZLvNaf65c2ue16KdRy/9IYSog
+MOm4ooGtK+PFReBl3HJRnChe8BpICxC20+pIOUMzu3gx5Lg6LNhaLU3DXHzuzwts
+2EFyC1VQgjbCxk4rXcl7yRmdyhzkYMshRmIOkcGFO8fJgYcjun0Vczhzf6/jAdDR
+nepLfPp6Z1TKPEeiXf2fLpa3dxkO04Zkj0CYWHj0BDFQEHA+GpWCeQuyc0w16uj4
+cYhnevotVDm+VyeRK4d/GcY2mWI1v/K+BZ6mOvEyYKh1k/fBWyA48A==
+-----END CERTIFICATE-----
diff --git a/tests/test-cert-2.pem b/tests/test-cert-2.pem
new file mode 100644
index 0000000..54402d9
--- /dev/null
+++ b/tests/test-cert-2.pem
@@ -0,0 +1,17 @@
+-----BEGIN CERTIFICATE-----
+MIICxDCCAaygAwIBAgIIWQxZ0h5JsC8wDQYJKoZIhvcNAQELBQAwADAgFw0xNzA1
+MDUxMDU0MTBaGA85OTk5MTIzMTIzNTk1OVowADCCASIwDQYJKoZIhvcNAQEBBQAD
+ggEPADCCAQoCggEBAODeT85NQfHn7P0gn5G8laF2JO9eH3ew6xY14ptd6fpGorB9
+7+QqU/u4fzeopGTMcPHvUAW5EZY2gX9bFtvSN8JK4nh6Ddchd/DCwL/grVzNlVT9
+wO94JNNps7cHBtDCh/TYx3qDumgqozRFgymzw28JXBbaCRiVps9X+btF0PLPSWF7
+Zd8vNwfKOpb9nXNYDgQq4oYFqB4rZl8uZiAA3IjmiVDIX2cDaZBplXwlPhDFP6/J
+Y/k3sc2aUNqyZzse3JlSXNkOQKB4TJP1JNS6TDiEBGabtGoTp2P1KJ+P1zhkP1gM
+o790NWuG+fipdlQwESRNXJJpB5ArSj3sLx1/NHkCAwEAAaNAMD4wDAYDVR0TAQH/
+BAIwADAPBgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBQfnonItt/FSgCBIQf48Ubp
+YpJ0VzANBgkqhkiG9w0BAQsFAAOCAQEAtZxSEvUA4g3X+bfY+ybjs0H5N/WbbcoU
+cOouU0BgI28btkmMI3tG+0o0gbpPKlIpywvCIojivJM41PQhIDkUHXPXqA6Y3IzX
+SVc8qfrTZMSbSsv0x2cEke8tnF6kvkMeAHaTntGvter1/MSrypKZVe7b9Qzs8adF
++/LazNl77reln6oWtIgCZEF5skjuvhHa1tYw0C1qvGHdthQxD0UKbMGEj1e8nCKU
+dbWQ2AigdoPtqgbjbhgrBau63VDttc0kSKs8hFJmGBnEUEYVhBtqLLjyUC9yp6zb
+kGMgblUlKlqtr8Kgc9Dst/APOLUrohoMPU+wzRNf9PvOZx5uFBXmRQ==
+-----END CERTIFICATE-----
diff --git a/tests/test-key-1.pem b/tests/test-key-1.pem
new file mode 100644
index 0000000..a202d86
--- /dev/null
+++ b/tests/test-key-1.pem
@@ -0,0 +1,144 @@
+Public Key Info:
+ Public Key Algorithm: RSA
+ Key Security Level: Medium (2048 bits)
+
+modulus:
+ 00:e1:13:d9:df:37:df:79:e4:03:64:01:32:78:86:
+ 8f:0b:90:10:b7:bb:73:56:08:89:9c:60:58:07:87:
+ d3:cd:d0:09:5d:01:bf:43:e6:01:43:c3:f2:19:2b:
+ 87:e4:e2:36:b5:90:d1:98:c7:7a:95:3a:13:cb:0a:
+ ca:0d:30:bd:75:4a:14:54:fb:57:94:af:e2:74:0e:
+ 9f:31:10:df:67:f4:e9:f5:ce:8b:51:b9:b5:3c:f8:
+ c0:bf:19:b4:d4:af:16:04:68:08:67:c1:b5:42:69:
+ 63:a6:08:55:df:f6:60:4d:2c:d4:bf:d9:fb:3e:05:
+ 94:05:ad:71:ac:86:b9:56:82:b2:02:b6:0e:7e:c3:
+ e2:c1:f3:6b:6e:91:c4:0c:e5:fc:be:c9:98:01:02:
+ 5d:32:1f:0f:73:d7:b0:ec:87:29:fc:91:65:e6:ce:
+ 61:6c:29:bf:26:68:fc:21:6c:40:93:d3:9d:34:d5:
+ 28:20:ed:25:e2:54:f7:6c:ee:41:b4:1b:0c:30:b3:
+ 27:b2:b4:9b:f5:98:b6:5b:db:0b:79:4b:f1:86:c3:
+ e2:43:9c:ea:5b:ba:f3:9b:ce:c5:99:da:e2:c2:90:
+ 37:7d:40:aa:86:b2:e5:b4:bf:cb:58:5d:56:73:1c:
+ 1a:5e:80:13:2f:b3:09:e4:3d:01:3e:73:8d:8d:97:
+ f9:b5:
+
+public exponent:
+ 01:00:01:
+
+private exponent:
+ 00:a9:54:be:ef:e1:60:1e:9a:bd:36:4a:74:47:1a:
+ ac:99:7d:5c:26:6e:3f:1a:35:b8:19:ce:9d:cb:a4:
+ 93:63:5e:a4:fc:b4:e8:c9:53:4c:16:48:5f:66:32:
+ 4a:bd:96:b6:a4:28:7c:97:5d:53:ca:da:f3:b3:28:
+ bd:d3:e8:9c:50:96:57:ef:8b:5c:5b:7f:6b:75:f6:
+ de:2b:12:cf:90:ad:40:2a:ee:a5:ff:e9:20:01:eb:
+ ff:4e:86:2f:76:66:f6:c0:7f:e7:fa:ef:4f:c7:d3:
+ f3:e5:20:96:42:b5:5f:c4:0f:fb:4b:0e:da:a6:d1:
+ 99:88:1f:f1:ca:63:5d:22:48:2e:27:33:2b:cd:9e:
+ 08:9e:aa:0e:f3:02:4d:3d:83:d3:1c:2e:13:9a:d9:
+ 24:ff:dd:c4:6d:18:d1:ce:dd:f9:c7:14:18:59:62:
+ bf:1b:5e:aa:18:72:16:f6:88:3e:e1:fb:cf:b6:0c:
+ 9a:af:20:1a:b4:86:a7:35:fb:a8:b1:71:c1:ba:fa:
+ b9:06:79:2f:90:53:da:38:61:a5:f7:41:ba:69:51:
+ df:18:0e:cb:97:ed:c3:98:4b:ff:42:e8:d8:40:ab:
+ d5:b9:dd:1d:ed:b3:bf:4c:66:e2:0c:59:24:04:af:
+ 0e:e3:03:58:df:d7:42:20:8c:aa:af:a2:38:4e:bb:
+ 4d:6d:
+
+prime1:
+ 00:ef:7f:31:68:97:70:14:ac:1b:e4:5f:6d:5a:ca:
+ e2:46:0a:62:88:e1:1c:5f:73:eb:ec:33:03:12:5c:
+ 99:8b:cc:88:21:43:d5:8d:3c:0d:be:d8:20:4c:5e:
+ 45:e7:95:c3:7d:ec:c0:6b:4b:f6:aa:77:40:0a:d6:
+ 6e:49:81:23:c8:6b:a4:16:6b:1d:f9:6a:d8:40:4b:
+ 8d:0b:41:e9:66:5d:7e:25:13:62:6a:f2:bc:a3:5b:
+ ae:e6:60:31:65:c8:eb:19:5d:a8:26:4c:34:d7:11:
+ 9f:8b:ac:46:1f:2f:b8:46:af:db:4e:f2:e2:85:3b:
+ a8:92:38:49:7d:ac:3e:8e:07:
+
+prime2:
+ 00:f0:96:4b:eb:1b:21:68:98:73:e0:51:42:0e:a2:
+ 79:6d:66:cf:4f:01:18:34:99:23:a5:df:97:1d:08:
+ e5:82:74:ba:b2:ad:4f:21:6d:12:64:ac:d2:70:1d:
+ 0a:70:03:69:99:b8:08:70:52:4a:e4:61:44:44:8b:
+ 8f:86:e6:72:4e:d1:f0:33:34:4b:10:0c:23:77:c5:
+ 4c:9c:dc:05:17:68:1d:f3:02:c4:34:ce:25:3b:34:
+ d0:18:b7:f8:b1:a4:52:53:91:68:b2:9c:70:70:27:
+ e2:37:2b:e3:ca:6b:b0:f1:78:25:37:5c:d2:d5:85:
+ bb:25:31:ed:fa:81:1d:4b:63:
+
+coefficient:
+ 71:d8:4d:f7:d9:77:e1:f0:6a:f9:72:14:bc:62:4f:
+ 2d:05:a6:c8:60:bb:5d:62:e6:a9:09:f7:59:39:54:
+ e0:df:d1:ac:d5:30:ca:a3:82:27:b1:b7:21:b5:a9:
+ 07:26:c6:7b:7c:2d:52:9c:f9:24:f8:02:47:66:94:
+ d0:97:69:6a:04:11:e4:35:98:b0:dc:af:ec:c5:fd:
+ 54:43:21:d4:34:07:9e:25:c0:32:e2:3a:96:ed:9e:
+ 86:a2:e0:1a:10:a7:78:95:bd:80:55:3b:39:65:88:
+ a0:08:05:cb:86:42:b9:16:34:b2:3b:6d:51:34:4c:
+ b4:31:78:1f:1d:e5:bb:0f:
+
+exp1:
+ 42:35:c1:ad:0e:a0:b7:b6:55:07:af:b2:05:b5:ad:
+ 14:7b:ee:7d:b4:ee:29:1d:5d:0d:b1:94:99:d0:eb:
+ ca:10:43:5a:1e:ec:bc:dc:eb:57:e5:5c:18:80:bf:
+ 86:a4:8a:a5:17:7c:a2:ad:1f:86:44:ed:79:91:8a:
+ 6f:db:b9:ce:c0:a3:5e:67:42:a4:1f:7b:a5:5a:bd:
+ a5:6d:15:5f:6d:5d:60:56:99:90:c3:86:8f:0a:db:
+ b1:68:ca:7f:3f:2a:6f:9a:ca:cf:bb:a5:a8:07:81:
+ 3a:15:e8:54:da:d6:71:04:50:f6:e4:82:e7:1e:75:
+ 1d:e7:5d:b9:d6:92:7c:a5:
+
+exp2:
+ 24:26:00:fc:2f:54:62:b9:dd:57:4b:fe:47:e2:a3:
+ aa:0b:73:84:a4:5e:75:b0:b8:c9:78:81:e5:0b:ec:
+ 28:20:cf:d8:7e:ef:cf:ce:ea:9f:93:d3:fe:a2:6e:
+ 6a:0c:29:36:be:8f:0e:09:5f:55:57:44:01:a4:92:
+ 89:2b:60:eb:74:e1:c9:5f:c7:13:7f:2f:69:14:8d:
+ 01:58:91:af:45:a6:92:57:cd:11:3e:14:1c:04:40:
+ 6c:26:60:48:98:af:01:fd:6c:24:c2:1a:a6:cf:67:
+ 4e:f0:da:46:14:ce:3e:49:d6:15:ae:6d:c3:45:57:
+ ac:2c:07:5c:c7:3f:96:8f:
+
+
+Public Key ID: B0:BB:66:C9:F9:8A:FF:50:05:C7:44:E3:1C:42:79:18:35:55:3C:D1
+Public key's random art:
++--[ RSA 2048]----+
+| .=OO..ooo |
+| o*o+ o E|
+| . .+ . |
+| o . |
+| . S |
+| o |
+| .oo |
+| .*o |
+| .+++o |
++-----------------+
+
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEA4RPZ3zffeeQDZAEyeIaPC5AQt7tzVgiJnGBYB4fTzdAJXQG/
+Q+YBQ8PyGSuH5OI2tZDRmMd6lToTywrKDTC9dUoUVPtXlK/idA6fMRDfZ/Tp9c6L
+Ubm1PPjAvxm01K8WBGgIZ8G1QmljpghV3/ZgTSzUv9n7PgWUBa1xrIa5VoKyArYO
+fsPiwfNrbpHEDOX8vsmYAQJdMh8Pc9ew7Icp/JFl5s5hbCm/Jmj8IWxAk9OdNNUo
+IO0l4lT3bO5BtBsMMLMnsrSb9Zi2W9sLeUvxhsPiQ5zqW7rzm87FmdriwpA3fUCq
+hrLltL/LWF1WcxwaXoATL7MJ5D0BPnONjZf5tQIDAQABAoIBAQCpVL7v4WAemr02
+SnRHGqyZfVwmbj8aNbgZzp3LpJNjXqT8tOjJU0wWSF9mMkq9lrakKHyXXVPK2vOz
+KL3T6JxQllfvi1xbf2t19t4rEs+QrUAq7qX/6SAB6/9Ohi92ZvbAf+f670/H0/Pl
+IJZCtV/ED/tLDtqm0ZmIH/HKY10iSC4nMyvNngieqg7zAk09g9McLhOa2ST/3cRt
+GNHO3fnHFBhZYr8bXqoYchb2iD7h+8+2DJqvIBq0hqc1+6ixccG6+rkGeS+QU9o4
+YaX3QbppUd8YDsuX7cOYS/9C6NhAq9W53R3ts79MZuIMWSQErw7jA1jf10IgjKqv
+ojhOu01tAoGBAO9/MWiXcBSsG+RfbVrK4kYKYojhHF9z6+wzAxJcmYvMiCFD1Y08
+Db7YIExeReeVw33swGtL9qp3QArWbkmBI8hrpBZrHflq2EBLjQtB6WZdfiUTYmry
+vKNbruZgMWXI6xldqCZMNNcRn4usRh8vuEav207y4oU7qJI4SX2sPo4HAoGBAPCW
+S+sbIWiYc+BRQg6ieW1mz08BGDSZI6Xflx0I5YJ0urKtTyFtEmSs0nAdCnADaZm4
+CHBSSuRhRESLj4bmck7R8DM0SxAMI3fFTJzcBRdoHfMCxDTOJTs00Bi3+LGkUlOR
+aLKccHAn4jcr48prsPF4JTdc0tWFuyUx7fqBHUtjAoGAQjXBrQ6gt7ZVB6+yBbWt
+FHvufbTuKR1dDbGUmdDryhBDWh7svNzrV+VcGIC/hqSKpRd8oq0fhkTteZGKb9u5
+zsCjXmdCpB97pVq9pW0VX21dYFaZkMOGjwrbsWjKfz8qb5rKz7ulqAeBOhXoVNrW
+cQRQ9uSC5x51HeddudaSfKUCgYAkJgD8L1Riud1XS/5H4qOqC3OEpF51sLjJeIHl
+C+woIM/Yfu/Pzuqfk9P+om5qDCk2vo8OCV9VV0QBpJKJK2DrdOHJX8cTfy9pFI0B
+WJGvRaaSV80RPhQcBEBsJmBImK8B/Wwkwhqmz2dO8NpGFM4+SdYVrm3DRVesLAdc
+xz+WjwKBgHHYTffZd+HwavlyFLxiTy0Fpshgu11i5qkJ91k5VODf0azVMMqjgiex
+tyG1qQcmxnt8LVKc+ST4AkdmlNCXaWoEEeQ1mLDcr+zF/VRDIdQ0B54lwDLiOpbt
+noai4BoQp3iVvYBVOzlliKAIBcuGQrkWNLI7bVE0TLQxeB8d5bsP
+-----END RSA PRIVATE KEY-----
diff --git a/tests/test-key-2.pem b/tests/test-key-2.pem
new file mode 100644
index 0000000..889fbc2
--- /dev/null
+++ b/tests/test-key-2.pem
@@ -0,0 +1,144 @@
+Public Key Info:
+ Public Key Algorithm: RSA
+ Key Security Level: Medium (2048 bits)
+
+modulus:
+ 00:e0:de:4f:ce:4d:41:f1:e7:ec:fd:20:9f:91:bc:
+ 95:a1:76:24:ef:5e:1f:77:b0:eb:16:35:e2:9b:5d:
+ e9:fa:46:a2:b0:7d:ef:e4:2a:53:fb:b8:7f:37:a8:
+ a4:64:cc:70:f1:ef:50:05:b9:11:96:36:81:7f:5b:
+ 16:db:d2:37:c2:4a:e2:78:7a:0d:d7:21:77:f0:c2:
+ c0:bf:e0:ad:5c:cd:95:54:fd:c0:ef:78:24:d3:69:
+ b3:b7:07:06:d0:c2:87:f4:d8:c7:7a:83:ba:68:2a:
+ a3:34:45:83:29:b3:c3:6f:09:5c:16:da:09:18:95:
+ a6:cf:57:f9:bb:45:d0:f2:cf:49:61:7b:65:df:2f:
+ 37:07:ca:3a:96:fd:9d:73:58:0e:04:2a:e2:86:05:
+ a8:1e:2b:66:5f:2e:66:20:00:dc:88:e6:89:50:c8:
+ 5f:67:03:69:90:69:95:7c:25:3e:10:c5:3f:af:c9:
+ 63:f9:37:b1:cd:9a:50:da:b2:67:3b:1e:dc:99:52:
+ 5c:d9:0e:40:a0:78:4c:93:f5:24:d4:ba:4c:38:84:
+ 04:66:9b:b4:6a:13:a7:63:f5:28:9f:8f:d7:38:64:
+ 3f:58:0c:a3:bf:74:35:6b:86:f9:f8:a9:76:54:30:
+ 11:24:4d:5c:92:69:07:90:2b:4a:3d:ec:2f:1d:7f:
+ 34:79:
+
+public exponent:
+ 01:00:01:
+
+private exponent:
+ 1c:07:79:f9:24:26:29:2a:18:9f:40:b6:c3:2a:b7:
+ 98:05:aa:fa:ef:47:8a:da:d1:a2:d6:1a:a5:f5:21:
+ da:21:7d:db:f4:06:b7:f1:12:c0:d8:b1:7a:d5:99:
+ 90:3a:ef:85:28:a8:57:de:46:b3:eb:9d:5e:ab:93:
+ 00:d9:86:3b:c0:ab:d4:0a:9a:b9:0b:21:f1:2f:c5:
+ 68:e5:6f:96:96:c5:9b:6f:79:e2:1f:9e:af:7f:88:
+ 78:32:f7:05:84:89:ff:da:19:9b:4a:da:2c:6b:cc:
+ 26:12:d8:13:95:a5:b1:ac:7f:ff:15:34:77:0d:08:
+ 5a:e6:03:69:f5:7c:e3:16:f9:96:80:c8:e1:95:70:
+ 8c:94:ae:3a:84:3d:10:fd:9c:d2:2f:af:d5:50:11:
+ 57:03:9f:44:a4:69:97:b5:89:7b:4d:e9:69:48:8d:
+ 9e:62:fa:03:c0:44:19:f2:d0:af:27:22:36:6f:f4:
+ d7:88:bd:a2:e3:25:01:d5:17:18:ea:da:ce:ea:dd:
+ 7c:fc:e2:6e:e4:1c:b4:75:33:61:7c:49:f3:3e:3f:
+ c3:2d:18:f3:23:37:1c:85:5c:ac:e0:eb:e5:2a:6a:
+ 8b:08:88:0d:4a:35:26:94:58:23:2f:9b:a3:8f:82:
+ ca:d8:b2:24:3a:9d:1e:54:b0:ff:93:70:06:1a:74:
+ 45:
+
+prime1:
+ 00:fa:ae:de:66:96:87:bf:22:f9:3b:b2:24:ac:85:
+ 0a:a3:df:4d:c7:a9:12:9f:90:cd:15:a6:49:b4:90:
+ f9:6e:1d:3f:e9:ba:de:81:15:9c:6a:2f:ba:cb:0e:
+ 80:50:29:30:d4:20:dd:ed:7c:7a:e1:be:16:27:a2:
+ 90:35:ce:1b:ac:16:82:65:23:5c:52:87:e5:70:cf:
+ d4:b4:9c:5e:7f:64:ce:6d:1e:7b:ba:5d:ff:ec:aa:
+ 4a:fc:a2:f6:64:30:12:5b:43:25:37:9f:5d:7e:8b:
+ 18:51:6c:10:d6:cf:13:05:fe:6c:bd:63:15:39:ef:
+ 9a:6b:6e:cf:38:8f:0f:2f:73:
+
+prime2:
+ 00:e5:a3:46:fe:65:11:52:ea:12:ef:d0:6e:87:c8:
+ e5:18:ab:ea:1c:0d:ce:f1:64:10:ee:d8:6d:ea:4e:
+ d8:42:fd:b4:73:cc:e1:a9:33:b4:e4:27:4b:4c:19:
+ 20:d9:e9:77:3b:a7:ec:14:b2:86:cf:e2:5d:76:3f:
+ ae:d7:14:03:9b:01:2d:67:9f:4e:db:85:04:70:a2:
+ 91:12:77:7b:d0:59:fc:82:35:93:c4:43:8a:45:ef:
+ d5:51:6d:95:e2:47:94:de:8d:55:62:7a:95:ae:9c:
+ 31:a6:f7:37:4a:f6:fd:b1:ca:cb:3f:eb:74:fa:b1:
+ 66:7d:b7:30:47:a4:63:f9:63:
+
+coefficient:
+ 67:5c:b0:fc:ac:9c:76:2a:20:4b:95:29:fe:21:4e:
+ 5c:8d:54:87:91:82:4f:f1:41:88:3b:16:9e:15:8a:
+ 2a:9d:33:e7:69:68:e9:94:ab:25:7f:1d:b8:f5:73:
+ e2:cc:12:8d:da:5f:28:6e:0b:9a:7c:ba:c3:8d:c8:
+ 8d:4a:68:ff:68:a0:18:97:75:8b:2c:1f:a0:5d:92:
+ 92:78:f4:06:8e:ae:17:eb:7d:74:32:7d:32:a1:01:
+ 91:74:0d:a8:d2:bb:59:d4:32:3c:6e:57:7e:2c:8d:
+ 74:da:25:13:0f:e0:1e:ef:d4:80:7b:24:de:0e:2c:
+ b0:69:0f:7f:08:e4:d5:cf:
+
+exp1:
+ 00:db:89:1d:38:16:88:17:39:d7:af:11:d9:d0:44:
+ 4b:07:2c:5e:7f:86:6f:ca:d2:12:e8:ec:d2:0b:92:
+ 12:fe:fe:1a:a4:e4:84:4b:e3:d3:31:a3:4f:20:d9:
+ 38:41:fb:70:c9:b5:66:e5:be:68:17:1e:53:64:ae:
+ 97:40:a7:99:d0:61:7e:1c:78:95:37:a9:cf:a3:b6:
+ 3e:ff:55:19:e4:d3:31:7c:9a:7f:9c:bd:09:8e:07:
+ ac:d8:07:17:64:b2:3c:c1:33:d2:7a:1d:d4:d1:27:
+ 9b:4a:63:2b:74:13:b1:03:44:c7:92:2c:1d:c0:b9:
+ 37:30:f2:c0:03:36:36:04:45:
+
+exp2:
+ 00:96:2c:02:bf:56:84:cf:be:37:88:10:bc:57:9b:
+ ef:06:05:56:e1:e5:bd:d1:6a:69:10:69:04:e8:57:
+ 8b:61:b3:dc:10:66:89:a4:47:26:22:95:f7:cd:da:
+ 18:fb:a8:8b:ca:bd:73:cb:cd:3c:10:32:ae:80:28:
+ 01:44:b1:d7:f1:c4:01:57:64:7d:03:5d:a7:9b:a9:
+ 14:4a:09:4d:34:e1:c4:19:ba:c3:d9:73:79:b7:66:
+ b2:0f:c0:24:66:87:fd:38:d5:20:63:78:5a:ee:87:
+ 42:89:37:de:36:ed:f2:d6:14:12:7a:c8:96:05:63:
+ 81:ec:f0:a1:68:18:7f:30:95:
+
+
+Public Key ID: 1F:9E:89:C8:B6:DF:C5:4A:00:81:21:07:F8:F1:46:E9:62:92:74:57
+Public key's random art:
++--[ RSA 2048]----+
+| .o.o+oE |
+|...++. . |
+|.o.=. . |
+|o + + . |
+| o o S . |
+| . . = = |
+| + . * o |
+| . . o o |
+| ... o |
++-----------------+
+
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEA4N5Pzk1B8efs/SCfkbyVoXYk714fd7DrFjXim13p+kaisH3v
+5CpT+7h/N6ikZMxw8e9QBbkRljaBf1sW29I3wkrieHoN1yF38MLAv+CtXM2VVP3A
+73gk02mztwcG0MKH9NjHeoO6aCqjNEWDKbPDbwlcFtoJGJWmz1f5u0XQ8s9JYXtl
+3y83B8o6lv2dc1gOBCrihgWoHitmXy5mIADciOaJUMhfZwNpkGmVfCU+EMU/r8lj
++TexzZpQ2rJnOx7cmVJc2Q5AoHhMk/Uk1LpMOIQEZpu0ahOnY/Uon4/XOGQ/WAyj
+v3Q1a4b5+Kl2VDARJE1ckmkHkCtKPewvHX80eQIDAQABAoIBABwHefkkJikqGJ9A
+tsMqt5gFqvrvR4ra0aLWGqX1Idohfdv0BrfxEsDYsXrVmZA674UoqFfeRrPrnV6r
+kwDZhjvAq9QKmrkLIfEvxWjlb5aWxZtveeIfnq9/iHgy9wWEif/aGZtK2ixrzCYS
+2BOVpbGsf/8VNHcNCFrmA2n1fOMW+ZaAyOGVcIyUrjqEPRD9nNIvr9VQEVcDn0Sk
+aZe1iXtN6WlIjZ5i+gPARBny0K8nIjZv9NeIvaLjJQHVFxjq2s7q3Xz84m7kHLR1
+M2F8SfM+P8MtGPMjNxyFXKzg6+UqaosIiA1KNSaUWCMvm6OPgsrYsiQ6nR5UsP+T
+cAYadEUCgYEA+q7eZpaHvyL5O7IkrIUKo99Nx6kSn5DNFaZJtJD5bh0/6bregRWc
+ai+6yw6AUCkw1CDd7Xx64b4WJ6KQNc4brBaCZSNcUoflcM/UtJxef2TObR57ul3/
+7KpK/KL2ZDASW0MlN59dfosYUWwQ1s8TBf5svWMVOe+aa27POI8PL3MCgYEA5aNG
+/mURUuoS79Buh8jlGKvqHA3O8WQQ7tht6k7YQv20c8zhqTO05CdLTBkg2el3O6fs
+FLKGz+Jddj+u1xQDmwEtZ59O24UEcKKREnd70Fn8gjWTxEOKRe/VUW2V4keU3o1V
+YnqVrpwxpvc3Svb9scrLP+t0+rFmfbcwR6Rj+WMCgYEA24kdOBaIFznXrxHZ0ERL
+Byxef4ZvytIS6OzSC5IS/v4apOSES+PTMaNPINk4QftwybVm5b5oFx5TZK6XQKeZ
+0GF+HHiVN6nPo7Y+/1UZ5NMxfJp/nL0Jjges2AcXZLI8wTPSeh3U0SebSmMrdBOx
+A0THkiwdwLk3MPLAAzY2BEUCgYEAliwCv1aEz743iBC8V5vvBgVW4eW90WppEGkE
+6FeLYbPcEGaJpEcmIpX3zdoY+6iLyr1zy808EDKugCgBRLHX8cQBV2R9A12nm6kU
+SglNNOHEGbrD2XN5t2ayD8AkZof9ONUgY3ha7odCiTfeNu3y1hQSesiWBWOB7PCh
+aBh/MJUCgYBnXLD8rJx2KiBLlSn+IU5cjVSHkYJP8UGIOxaeFYoqnTPnaWjplKsl
+fx249XPizBKN2l8obguafLrDjciNSmj/aKAYl3WLLB+gXZKSePQGjq4X6310Mn0y
+oQGRdA2o0rtZ1DI8bld+LI102iUTD+Ae79SAeyTeDiywaQ9/COTVzw==
+-----END RSA PRIVATE KEY-----