diff options
Diffstat (limited to 'guile/tests/x509-certificates.scm')
-rw-r--r-- | guile/tests/x509-certificates.scm | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/guile/tests/x509-certificates.scm b/guile/tests/x509-certificates.scm index ccf871bd43..984ec6fe3b 100644 --- a/guile/tests/x509-certificates.scm +++ b/guile/tests/x509-certificates.scm @@ -1,5 +1,5 @@ ;;; GnuTLS --- Guile bindings for GnuTLS. -;;; Copyright (C) 2007-2012 Free Software Foundation, Inc. +;;; Copyright (C) 2007-2012, 2021 Free Software Foundation, Inc. ;;; ;;; GnuTLS is free software; you can redistribute it and/or ;;; modify it under the terms of the GNU Lesser General Public @@ -25,7 +25,8 @@ (use-modules (gnutls) (gnutls build tests) (srfi srfi-4) - (srfi srfi-11)) + (srfi srfi-11) + (ice-9 format)) (define %certificate-file (search-path %load-path "x509-certificate.pem")) @@ -41,10 +42,19 @@ ;; The certificate's signature algorithm. sign-algorithm/rsa-sha1) +(define %sha1-fingerprint + ;; The certificate's SHA-1 fingerprint. + "7c55df47de718869d55998ee1e9301331ccd0601") + (define (file-size file) (stat:size (stat file))) +(define (u8vector->hex-string u8vector) + (string-join (map (lambda (u8) (format #f "~2,'0x" u8)) + (u8vector->list u8vector)) + "")) + (run-test (lambda () @@ -74,6 +84,9 @@ cert 0))) (and (string? name) (string? - (x509-subject-alternative-name->string type))))))))) + (x509-subject-alternative-name->string type)))) + (equal? (u8vector->hex-string + (x509-certificate-fingerprint cert digest/sha1)) + %sha1-fingerprint)))))) ;;; arch-tag: eef09b52-30e8-472a-8b93-cb636434f6eb |