summaryrefslogtreecommitdiff
path: root/guile/tests/x509-certificates.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guile/tests/x509-certificates.scm')
-rw-r--r--guile/tests/x509-certificates.scm19
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