EXTRA_DIST = $(TESTS) openpgp-pub.asc openpgp-sec.asc \
openpgp-keyring.gpg openpgp-keyring.asc \
- rsa-parameters.pem \
+ rsa-parameters.pem dh-parameters.pem \
x509-certificate.pem x509-key.pem
;; Message sent by the client.
(define %message (apply u8vector (iota 256)))
+(define (import-something import-proc file fmt)
+ (let* ((path (search-path %load-path file))
+ (size (stat:size (stat path)))
+ (raw (make-u8vector size)))
+ (uniform-vector-read! raw (open-input-file path))
+ (import-proc raw fmt)))
+
+(define (import-dh-params file)
+ (import-something pkcs3-import-dh-parameters file
+ x509-certificate-format/pem))
+
;; Debugging.
;; (set-log-level! 100)
;; (set-log-procedure! (lambda (level str)
(set-session-transport-fd! server (fileno (cdr socket-pair)))
(let ((cred (make-anonymous-server-credentials))
- (dh-params (make-dh-parameters 1024)))
+ (dh-params (import-dh-params "dh-parameters.pem")))
;; Note: DH parameter generation can take some time.
(set-anonymous-server-dh-parameters! cred dh-params)
(set-session-credentials! server cred))
--- /dev/null
+-----BEGIN DH PARAMETERS-----
+MIGGAoGAtkxw2jlsVCsrfLqxrN+IrF/3W8vVFvDzYbLmxi2GQv9s/PQGWP1d9i22
+P2DprfcJknWt7KhCI1SaYseOQIIIAYP78CfyIpGScW/vS8khrw0rlQiyeCvQgF3O
+GeGOEywcw+oQT4SmFOD7H0smJe2CNyjYpexBXQ/A0mbTF9QKm1cCAQU=
+-----END DH PARAMETERS-----
(import-something pkcs1-import-rsa-parameters file
x509-certificate-format/pem))
+(define (import-dh-params file)
+ (import-something pkcs3-import-dh-parameters file
+ x509-certificate-format/pem))
+
;; Debugging.
;; (set-log-level! 3)
;; (set-log-procedure! (lambda (level str)
(let ((server (make-session connection-end/server))
(rsa (import-rsa-params "rsa-parameters.pem"))
- (dh (make-dh-parameters 1024)))
+ (dh (import-dh-params "dh-parameters.pem")))
;; server-side
(set-session-default-priority! server)
(set-session-certificate-type-priority! server %certs)
(use-modules (gnutls)
(srfi srfi-4))
+(define (import-something import-proc file fmt)
+ (let* ((path (search-path %load-path file))
+ (size (stat:size (stat path)))
+ (raw (make-u8vector size)))
+ (uniform-vector-read! raw (open-input-file path))
+ (import-proc raw fmt)))
+
+(define (import-dh-params file)
+ (import-something pkcs3-import-dh-parameters file
+ x509-certificate-format/pem))
+
(dynamic-wind
(lambda ()
(lambda ()
(exit
- (let* ((dh-params (make-dh-parameters 1024))
+ (let* ((dh-params (import-dh-params "dh-parameters.pem"))
(export
(pkcs3-export-dh-parameters dh-params
x509-certificate-format/pem)))
;; Message sent by the client.
(define %message (apply u8vector (iota 256)))
+(define (import-something import-proc file fmt)
+ (let* ((path (search-path %load-path file))
+ (size (stat:size (stat path)))
+ (raw (make-u8vector size)))
+ (uniform-vector-read! raw (open-input-file path))
+ (import-proc raw fmt)))
+
+(define (import-dh-params file)
+ (import-something pkcs3-import-dh-parameters file
+ x509-certificate-format/pem))
+
;; Debugging.
;; (set-log-level! 100)
;; (set-log-procedure! (lambda (level str)
(set-session-transport-port! server (cdr socket-pair))
(let ((cred (make-anonymous-server-credentials))
- (dh-params (make-dh-parameters 1024)))
+ (dh-params (import-dh-params "dh-parameters.pem")))
;; Note: DH parameter generation can take some time.
(set-anonymous-server-dh-parameters! cred dh-params)
(set-session-credentials! server cred))
(import-something pkcs1-import-rsa-parameters file
x509-certificate-format/pem))
+(define (import-dh-params file)
+ (import-something pkcs3-import-dh-parameters file
+ x509-certificate-format/pem))
+
;; Debugging.
;; (set-log-level! 3)
;; (set-log-procedure! (lambda (level str)
(let ((server (make-session connection-end/server))
(rsa (import-rsa-params "rsa-parameters.pem"))
- (dh (make-dh-parameters 1024)))
+ (dh (import-dh-params "dh-parameters.pem")))
;; server-side
(set-session-default-priority! server)
(set-session-certificate-type-priority! server %certs)