openssl unserver pasted by saeftl on Mon Apr 16 13:42:52 2012
(use posix srfi-1 openssl srfi-12) (define *testcommands* '(list (uptime) (* 5 4))) (handle-exceptions exn (if ((condition-predicate 'openssl) exn) (begin (display "sometthing went seriously wrong:") (display ((condition-property-accessor 'openssl 'status) exn)) (newline) (display ((condition-property-accessor 'openssl 'message) exn)) (newline)) (abort exn)) (begin (define (testit) (let ((listener (ssl-listen 4443 4 #f 'tls))) (ssl-load-certificate-chain! listener "servercert.pem") (ssl-load-verify-root-certificates! listener "servercert.pem") (ssl-load-private-key! listener "server.key") (ssl-set-verify! listener #t) (let-values (((in out) (ssl-accept listener))) (with-input-from-port in (lambda () (write *testcommands* out) (display "Wrote" (current-error-port)) (newline (current-error-port)) (display *testcommands* (current-error-port)) (newline (current-error-port)) (do ((l "" (read-line))) ((eof-object? l)) (display l)))) ))) (testit)))
server.key pasted by saeftl on Mon Apr 16 13:55:22 2012
-----BEGIN RSA PRIVATE KEY----- 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 -----END RSA PRIVATE KEY-----
servercert.pem pasted by saeftl on Mon Apr 16 13:56:04 2012
-----BEGIN CERTIFICATE----- MIIFrzCCA5YCCQCasyff7FGMzDANBgkqhkiG9w0BAQUFADCBmDELMAkGA1UEBhMC WFgxCzAJBgNVBAgTAllZMQswCQYDVQQHEwJaWjEsMCoGA1UEChMjTm9ydGggTWFs ZGVuIEljZWxhbmRpYyBTYWdhIFNvY2lldHkxQTA/BgNVBAMTOHNjaGxlcHBlcmxl LjNhNTJjZTc4MDk1MGQ0ZDk2OTc5MmEyNTU5Y2Q1MTlkN2VlOGM3Mjcub3JnMB4X DTEyMDQxMzE4MTMyOVoXDTIyMDQxMTE4MTMyOVowgZgxCzAJBgNVBAYTAlhYMQsw CQYDVQQIEwJZWTELMAkGA1UEBxMCWloxLDAqBgNVBAoTI05vcnRoIE1hbGRlbiBJ Y2VsYW5kaWMgU2FnYSBTb2NpZXR5MUEwPwYDVQQDEzhzY2hsZXBwZXJsZS4zYTUy Y2U3ODA5NTBkNGQ5Njk3OTJhMjU1OWNkNTE5ZDdlZThjNzI3Lm9yZzCCAiIwDQYJ KoZIhvcNAQEBBQADggIPADCCAgoCggIBAWKEBW2+bngk03HWG6uLcKwyc/vsuUSh KSbfZmV2naarSQrJopgpYPqCYcXloT49JGmO2yFjxUnJ2zMgipfqLvbtszRcK1MX pQs6/BdyJamVJCQ76IxeDgonQBP6Sm6tAuubRPY+bg32H7hY2f9TjpjpwIzXnLfX EOZ5WLuN/Wv+EKXE8oEK0J9BotNnE1Upn0CB4FWOE4yfhKXJgRx/XOvBkcicbchP y+AznfLYS/EI6J44I8Wwn8TU+cP3WoKKyP61De8UMTnUGTkf3gGCSeSyq+zscTy8 7LOoxQP4aL5HnlGF5NlHwyTIEq/pCsjsyTsD22UIQj12QN1lswCa9bpAnORJLmzO Krig29L9A+7pq8xjEAKfS8chXFYHXHVueEHL8oOpeZyfWa2SPTv5ZzaBER2/OU3U frVxYShZFoX8FlI0aoFJQRM+Up0V7+keU7G4wRWCvi6KGHHv+kO0JcsCg2XPXZ3S kiQAxaTK9+JaRL/7yr6ilNYEGHML/OGec25CVB36VWThvHB4QQH/gedC/BVUXTU0 NeOFZI8G6FhFFn9fk73k67RrxvijZenKSu/ZLtklDZJBZOi5Ulh7mTKS6jQkOSaD cI4/MNtyA1f13ZHnpLvKeozdNIZP/3wHCcYiLgttVBUFaxgFGkGB2xWDcPSrsRiL qGG/WY6/ZyanAgMBAAEwDQYJKoZIhvcNAQEFBQADggICAAAUxSQ/zt5mF25HAJMD 3bL9ErPsolJy7jnRZatG/dBKso0RU2qzod08DRXdgKLVe1cU65efB1MMWP51ov88 t4sfVjL010kebiBqfIdcuiaQqoWh5wOdtgd6hipKdo1YmdT5mncNKlq2lXP0LM01 POCKg9GyhELCM7qYGZBOUujOfIoMNDtftoDP2g7Mfq1SLjpqBQbnUm9elUZuQqMt 9gpRi7+Z9+67QP9YI1Fnb6Kup8r44XcTnPqiMZN07WymXKTBQYHnCNFDpvgWKEI7 C8c4vXWt6YrQ2rRuxMcPzts+Ut4ybXGcX2SJM8FbgcDUaiOxCgP91ao45T9FYiFQ +lH/L1cL8BUsH77b+PZBDOFGL6FGTnOk2ObJ3LF4CZd9Ohz+nR1QAJ3v+jFZBfuh B7Aee+w6m4eraTkox1yxzr0Y+V+J6NkHC/HxexBLspccn/mB3qXlDzfJOz9emhm6 yvUIfBWA2pNaTMJrzYZoeTQg4lSDu7S0rb1Tw9qxDGomm1UCKkgjJI/KBFbJtoA6 oriEkGZOEQrmbnH6TFzTh8Ft5CcCW28Vk4fDdyMKj9RWadDhiABmBGDrxn31/Q03 Opdtgi4nMHlIiZa3D+AmoTLjdWR8+68TRQDs8zJKufwMA8zluINBySlBN7YDdabE JJL+kAqGjnfpgSRWDPCYe20NoQ== -----END CERTIFICATE-----
tsl client part pasted by saeftl on Mon Apr 16 14:39:21 2012
(use openssl srfi-1 posix srfi-12 ports environments) (define *theenv* (environment-copy (scheme-report-environment 5) #t)) (environment-extend! *theenv* 'uptime 100) (environment-extend! *theenv* 'get-uptime (lambda() (* 20 5))) (define *standard-output* (open-output-file* fileno/stdout)) (define *ctx* (ssl-make-client-context 'tls)) (ssl-load-certificate-chain! *ctx* "clientcert.pem") (ssl-load-verify-root-certificates! *ctx* "servercert.pem") (ssl-load-private-key! *ctx* "client.key") (ssl-set-verify! *ctx* #t) (define (parseit p) (with-input-from-port p (lambda () (let ((buffer (apply string-append (read-lines p 1)))) ;; XXX man kann nicht auf eof warten.. (display buffer (current-error-port)) (let ((sexpr (handle-exceptions exn (if ((condition-predicate 'syntax) exn) #t (abort exn)) (with-input-from-string buffer read)))) (if (not (list? sexpr)) #t sexpr)))))) (define (getcommands) (let-values (((inport outport) (ssl-connect "localhost" 4443 *ctx*))) (display "got tls!") (newline) (let ((ret (parseit inport))) (write (eval ret *theenv*) outport)) (close-output-port outport) (close-input-port inport))) (getcommands)
client.key pasted by saeftl on Mon Apr 16 14:43:10 2012
-----BEGIN RSA PRIVATE KEY----- MIIEXAIBAAKB8wCbfDh2ojMjajwr4ScWdMFYu2TiAN+BX8QzdTzv3Swggo0Q5Xpp FWadi8eeJLjv+WPKI47fHCtgGHW9WqM3/HfDUPt36a1YFC6Gb74K5KWAyUEZr73l I5URLMT2uYYNj7ShSI5IH0fITD+hKwdRlpvvCr5JqHcpuZTinCOuqI3Vi0aS++gC Ei6uim16hEj0Lmlu1xaE6PNrdBIRSaXm8+CDRZar4wAVh6QicZIDIY/71ycIe9gr CV996goj6dmPU3OCziP1hCJm/jCIAx6+2y3V8RAVUfLds0gfdYPYjtCeSh5aTLZS YJWqLDjCafVHjpgXkwIDAQABAoHyPEjjk4u8DCUqg1De2OQX+xFdQgtYnU7GQbVZ FR9J9qjnjP+MgKXdjYQet4BBfDnTqRI0WOkRIEcbj3lPA2wN+1qwxYOCxD2+9Dzr EEoqqU5ewVjUZb1wFKKpE4hHI4buYAJDuE74g/6cRR7rzYR5nSsrMF/zI+higweU 9phRYHAjgmBJiGJhOVUMUe/BFHIDS4zNELdwD4pKO81SGz6+q64RAXBeC7a3VXqr VsVvoDW/JA79ZPzSgQeJuNtvTrf8vyaFkxs4O461KPcBpyOPi1wGD4sGu8ctdXUM Ni+nKq7qPphACfKHId/dP1pJLSKVzVECegDILFxD/3BxGR+Jrj4A3CiW77fl7M9e IUDWQBlpQ2cgQcVBOUQpQLPsOHRcarV9BtRT3OWUxRcs8bLUkn/1qlvv544ydesl WPOyQupymSM8Lbl7hgnvxM6OzyvPXt8q8PIDDJGOBO6rSEc/tjcStq1QmN14qTBl bjCtAnoAxtlMF94J2Y74Nq9FcuPyB9NdoNkmSy05WLQcL2I//JarGlu+sKb/wtLo bMbxNhYuKKkcp9RJVp1JvmOhgPapGXrvxe9/bzZam0cA8gdpxUSZLAfezFpZx5dr JCy4QHmL17iCWEqf8Xr2jeksqtmvMQb3lenoVe0xPwJ5EusuZTbVN7s6IdcYARjN tUY+yTpSdwEJkbZJMIuwSXot3HY/HO8CkkbbqIhlUsW8d5ifEip2gEbvseuOsHdD bS8jX12JtePsVGLCqcYTcHKZ3zTR55lgNFscNuMukG5pUSR09Uk+DW4tXbYpClm9 k6p+9BJ5gnyhmQJ5XxP3dlIMk6HwvPUBV/X1/BfsZMRvsvJkwS0dbOqlfbjtByVn AEBZemYuDBTzsNDaMUbrFLREfM2oPQiWaHuIT06g5xuk6yAqIqTIpvE0ecZbFtqM hVmOJAkaial4UBvN6c+nQ2ArKeOJkEE1wltjkSWrrFqzZKKNMQJ5cTJlBL86U+pn IPHcTaMcTeDFDMzt8DQJUjyUnBp5eMXn7MYxHlKfCnzmB+Zmnu1tfqFE2ZT1FKuu 57xn+Sn5cCHn8AZhbRz+c8RsrntjKp6kq2/LxIxgX5GxjjHX6W/4OGL5mCicGtli rOFBxSl3v6pe0KBo4Qm/Lg== -----END RSA PRIVATE KEY-----
clientcert.pem added by saeftl on Mon Apr 16 14:43:45 2012
Certificate:
Data:
Version: 1 (0x0)
Serial Number:
dc:a0:d1:48:9b:a6:29:c5
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=XX, ST=YY, L=ZZ, O=North Malden Icelandic Saga Society, CN=schlepperle.3a52ce780950d4d969792a2559cd519d7ee8c727.org
Validity
Not Before: Apr 14 22:02:17 2012 GMT
Not After : Apr 14 22:02:17 2013 GMT
Subject: C=AA, ST=BB, L=CC, O=DD, OU=EE, CN=schlepperle.3a52ce780950d4d969792a2559cd519d7ee8c727.org
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (1936 bit)
Modulus:
00:9b:7c:38:76:a2:33:23:6a:3c:2b:e1:27:16:74:
c1:58:bb:64:e2:00:df:81:5f:c4:33:75:3c:ef:dd:
2c:20:82:8d:10:e5:7a:69:15:66:9d:8b:c7:9e:24:
b8:ef:f9:63:ca:23:8e:df:1c:2b:60:18:75:bd:5a:
a3:37:fc:77:c3:50:fb:77:e9:ad:58:14:2e:86:6f:
be:0a:e4:a5:80:c9:41:19:af:bd:e5:23:95:11:2c:
c4:f6:b9:86:0d:8f:b4:a1:48:8e:48:1f:47:c8:4c:
3f:a1:2b:07:51:96:9b:ef:0a:be:49:a8:77:29:b9:
94:e2:9c:23:ae:a8:8d:d5:8b:46:92:fb:e8:02:12:
2e:ae:8a:6d:7a:84:48:f4:2e:69:6e:d7:16:84:e8:
f3:6b:74:12:11:49:a5:e6:f3:e0:83:45:96:ab:e3:
00:15:87:a4:22:71:92:03:21:8f:fb:d7:27:08:7b:
d8:2b:09:5f:7d:ea:0a:23:e9:d9:8f:53:73:82:ce:
23:f5:84:22:66:fe:30:88:03:1e:be:db:2d:d5:f1:
10:15:51:f2:dd:b3:48:1f:75:83:d8:8e:d0:9e:4a:
1e:5a:4c:b6:52:60:95:aa:2c:38:c2:69:f5:47:8e:
98:17:93
Exponent: 65537 (0x10001)
Signature Algorithm: sha1WithRSAEncryption
01:27:35:44:b9:01:0a:b8:18:ff:3a:e5:20:b3:80:76:8d:b6:
85:33:b6:d3:b4:20:31:1e:5b:91:40:8b:bf:15:77:aa:25:dd:
8d:d1:4b:49:66:25:7b:cd:f6:71:dd:5e:cf:87:fc:ca:31:56:
6a:0e:37:e1:9f:92:c0:71:a6:9f:c4:48:d8:3c:6c:35:ef:b4:
4a:88:7d:3a:4d:fb:a9:23:d7:61:55:5d:8a:49:cf:07:d4:89:
41:42:44:98:76:17:89:b7:e2:06:ac:77:bc:18:29:c2:d0:a7:
2f:65:89:a8:0e:8d:86:65:f4:03:1d:c6:1a:d6:aa:19:e6:9a:
6e:56:59:6f:6d:40:70:bc:71:b7:c7:88:6a:76:4f:72:36:f0:
e9:d2:ba:e5:13:1f:73:17:b4:47:7b:4e:a2:3a:d1:cf:96:25:
ef:ab:e7:49:99:98:a1:ad:96:bc:64:c1:ed:e4:33:29:ce:42:
08:bb:8e:37:41:74:17:a8:7a:fa:1e:b9:0d:51:33:41:e0:68:
34:19:14:a3:b2:c9:c3:52:9f:80:b3:54:ff:9b:a3:54:61:bc:
24:94:61:10:7c:b7:cf:25:fa:81:aa:a5:a2:97:96:f7:6f:9d:
da:3a:67:17:48:58:df:27:df:ef:e7:77:e1:5a:05:5d:22:32:
c6:ac:97:fd:97:03:07:cc:70:f5:61:bd:d2:84:01:fd:50:af:
d0:da:78:69:ab:a2:34:91:af:8b:1d:f0:16:76:61:e4:a0:8d:
d9:13:06:e7:a4:22:2b:4d:63:b8:63:a7:99:e5:f3:b8:6b:32:
f9:6e:4a:dd:56:4c:6a:8a:b1:06:ef:bb:b1:2f:60:57:d6:f2:
18:9f:db:fd:51:8e:e7:e5:6c:fd:3c:81:8b:42:21:da:e3:5a:
38:02:a3:00:ce:30:ab:a4:38:56:f8:e7:3e:fd:d1:df:3f:eb:
60:0d:c6:f3:bb:f7:77:96:88:e5:f7:fb:9f:3e:0a:92:2c:47:
6d:f4:14:00:25:12:d4:42:c7:99:16:10:5c:86:8c:00:e3:ae:
a9:08:e1:07:5f:f3:f2:3d:07:03:62:44:62:c7:62:46:4a:84:
b9:62:53:05:18:5f:6e:61:ba:a1:28:e2:97:73:18:ed:c9:20:
16:c1:fc:87:cb:be:cf:58:34:5a:36:42:73:42:94:e9:fe:1f:
74:59:d0:f3:43:1e:5d:4b:b0:c1:08:87:dc:a0:2b:77:d8:26:
dc:01:f0:7c:14:1b:b0:ca:4e:e0:9c:57:30:45:3a:22:fc:65:
ae:20:ee:69:7f:0e:b6:66:1f:d7:21:0d:36:e3:6e:87:d7:fb:
b7:cb:27:38:7a:a1:0e:ef:65
-----BEGIN CERTIFICATE-----
MIIEijCCAnECCQDcoNFIm6YpxTANBgkqhkiG9w0BAQUFADCBmDELMAkGA1UEBhMC
WFgxCzAJBgNVBAgTAllZMQswCQYDVQQHEwJaWjEsMCoGA1UEChMjTm9ydGggTWFs
ZGVuIEljZWxhbmRpYyBTYWdhIFNvY2lldHkxQTA/BgNVBAMTOHNjaGxlcHBlcmxl
LjNhNTJjZTc4MDk1MGQ0ZDk2OTc5MmEyNTU5Y2Q1MTlkN2VlOGM3Mjcub3JnMB4X
DTEyMDQxNDIyMDIxN1oXDTEzMDQxNDIyMDIxN1owgYQxCzAJBgNVBAYTAkFBMQsw
CQYDVQQIEwJCQjELMAkGA1UEBxMCQ0MxCzAJBgNVBAoTAkREMQswCQYDVQQLEwJF
RTFBMD8GA1UEAxM4c2NobGVwcGVybGUuM2E1MmNlNzgwOTUwZDRkOTY5NzkyYTI1
NTljZDUxOWQ3ZWU4YzcyNy5vcmcwggERMA0GCSqGSIb3DQEBAQUAA4H/ADCB+wKB
8wCbfDh2ojMjajwr4ScWdMFYu2TiAN+BX8QzdTzv3Swggo0Q5XppFWadi8eeJLjv
+WPKI47fHCtgGHW9WqM3/HfDUPt36a1YFC6Gb74K5KWAyUEZr73lI5URLMT2uYYN
j7ShSI5IH0fITD+hKwdRlpvvCr5JqHcpuZTinCOuqI3Vi0aS++gCEi6uim16hEj0
Lmlu1xaE6PNrdBIRSaXm8+CDRZar4wAVh6QicZIDIY/71ycIe9grCV996goj6dmP
U3OCziP1hCJm/jCIAx6+2y3V8RAVUfLds0gfdYPYjtCeSh5aTLZSYJWqLDjCafVH
jpgXkwIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAgABJzVEuQEKuBj/OuUgs4B2jbaF
M7bTtCAxHluRQIu/FXeqJd2N0UtJZiV7zfZx3V7Ph/zKMVZqDjfhn5LAcaafxEjY
PGw177RKiH06TfupI9dhVV2KSc8H1IlBQkSYdheJt+IGrHe8GCnC0KcvZYmoDo2G
ZfQDHcYa1qoZ5ppuVllvbUBwvHG3x4hqdk9yNvDp0rrlEx9zF7RHe06iOtHPliXv
q+dJmZihrZa8ZMHt5DMpzkIIu443QXQXqHr6HrkNUTNB4Gg0GRSjssnDUp+As1T/
m6NUYbwklGEQfLfPJfqBqqWil5b3b53aOmcXSFjfJ9/v53fhWgVdIjLGrJf9lwMH
zHD1Yb3ShAH9UK/Q2nhpq6I0ka+LHfAWdmHkoI3ZEwbnpCIrTWO4Y6eZ5fO4azL5
bkrdVkxqirEG77uxL2BX1vIYn9v9UY7n5Wz9PIGLQiHa41o4AqMAzjCrpDhW+Oc+
/dHfP+tgDcbzu/d3lojl9/ufPgqSLEdt9BQAJRLUQseZFhBchowA466pCOEHX/Py
PQcDYkRix2JGSoS5YlMFGF9uYbqhKOKXcxjtySAWwfyHy77PWDRaNkJzQpTp/h90
WdDzQx5dS7DBCIfcoCt32CbcAfB8FBuwyk7gnFcwRToi/GWuIO5pfw62Zh/XIQ02
426H1/u3yyc4eqEO72U=
-----END CERTIFICATE-----