From 567efe68327ca4568ecc4de0c6c597d247b17a2c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20T=C3=A4nzer?=
Date: Wed, 8 Aug 2012 00:16:42 +0200
Subject: bug 964: Show an explicit error message for non-connected crypto
devices
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Michael Tänzer
---
includes/keygen.php | 4 ++++
www/keygenIE.js | 5 +++++
2 files changed, 9 insertions(+)
diff --git a/includes/keygen.php b/includes/keygen.php
index b489640..bf8bc5a 100644
--- a/includes/keygen.php
+++ b/includes/keygen.php
@@ -100,6 +100,10 @@ if (array_key_exists('HTTP_USER_AGENT',$_SERVER) &&
=_('Could not generate certificate request. Please confirm the '.
'dialogue if you are asked if you want to generate the key.')?>
+
+ =_('Could not generate certificate request. Please make sure the '.
+ 'cryptography device (e.g. the smartcard) is connected.')?>
+
=_('Could not generate certificate request.')?>
diff --git a/www/keygenIE.js b/www/keygenIE.js
index c311b85..5e2b8c0 100644
--- a/www/keygenIE.js
+++ b/www/keygenIE.js
@@ -84,6 +84,7 @@ var CAcert_keygen_IE = function () {
var generatingKeyNotice = document.getElementById("generatingKeyNotice");
var createRequestErrorChooseAlgorithm = document.getElementById("createRequestErrorChooseAlgorithm");
var createRequestErrorConfirmDialogue = document.getElementById("createRequestErrorConfirmDialogue");
+ var createRequestErrorConnectDevice = document.getElementById("createRequestErrorConnectDevice"));
var createRequestError = document.getElementById("createRequestError");
var invalidKeySizeError = document.getElementById("invalidKeySizeError");
var unsupportedPlatformError = document.getElementById("unsupportedPlatformError");
@@ -593,7 +594,11 @@ var CAcert_keygen_IE = function () {
form.submit();
} catch (e) {
if (e.number === -2147023673) {
+ // 0x800704c7 => dialogue declined
showError(createRequestErrorConfirmDialogue.innerHTML, e);
+ } else if (e.number === -2146435043) {
+ // 0x8010001d => crypto-device not connected
+ showError(createRequestErrorConnectDevice.innerHTML, e);
} else {
showError(createRequestError.innerHTML, e);
}
--
cgit v1.2.1