diff options
author | Joakim Verona <joakim@verona.se> | 2016-01-15 20:06:45 +0100 |
---|---|---|
committer | Joakim Verona <joakim@verona.se> | 2016-01-15 20:06:45 +0100 |
commit | 4b73dac2885aa7eb23b66c299065e19bd118a4fb (patch) | |
tree | 18452b36b890faf52d40f555ebe4dc3c6e020bc6 /lisp/net/nsm.el | |
parent | 0d824cc5e79e7d29a01929a51dfd673a117c77e8 (diff) | |
parent | 984a14904658da42ca9dea50a811a901ddc56e60 (diff) | |
download | emacs-xwidget_mvp.tar.gz |
merge masterxwidget_mvp
Diffstat (limited to 'lisp/net/nsm.el')
-rw-r--r-- | lisp/net/nsm.el | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/lisp/net/nsm.el b/lisp/net/nsm.el index c54553ae5ea..ebdeeccc2c8 100644 --- a/lisp/net/nsm.el +++ b/lisp/net/nsm.el @@ -1,6 +1,6 @@ ;;; nsm.el --- Network Security Manager -;; Copyright (C) 2014-2015 Free Software Foundation, Inc. +;; Copyright (C) 2014-2016 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org> ;; Keywords: encryption, security, network @@ -183,7 +183,9 @@ unencrypted." (defun nsm-check-protocol (process host port status settings) (let ((prime-bits (plist-get status :diffie-hellman-prime-bits)) - (encryption (format "%s-%s-%s" + (signature-algorithm + (plist-get (plist-get status :certificate) :signature-algorithm)) + (encryption (format "%s-%s-%s" (plist-get status :key-exchange) (plist-get status :cipher) (plist-get status :mac))) @@ -209,6 +211,15 @@ unencrypted." host port encryption))) (delete-process process) nil) + ((and (string-match "\\bSHA1\\b" signature-algorithm) + (not (memq :signature-sha1 (plist-get settings :conditions))) + (not + (nsm-query + host port status :signature-sha1 + "The certificate used to verify the connection to %s:%s uses the SHA1 algorithm (%s), which is believed to be unsafe." + host port signature-algorithm))) + (delete-process process) + nil) ((and protocol (string-match "SSL" protocol) (not (memq :ssl (plist-get settings :conditions))) |