From c9353f5c07dd5bf8f115ca97ad421356b7ba84c4 Mon Sep 17 00:00:00 2001 From: Andrew Wnuk Date: Thu, 2 Aug 2012 13:19:34 -0700 Subject: ECC enrollments for IE This patch enables ECC enrollments for IE. Bug: 748514. --- .../shared/webapps/ca/ee/ca/ProfileSelect.template | 94 +++++++++++++++++++--- 1 file changed, 81 insertions(+), 13 deletions(-) (limited to 'dogtag') diff --git a/dogtag/ca-ui/shared/webapps/ca/ee/ca/ProfileSelect.template b/dogtag/ca-ui/shared/webapps/ca/ee/ca/ProfileSelect.template index d8b7f5530..6a63a0a92 100644 --- a/dogtag/ca-ui/shared/webapps/ca/ee/ca/ProfileSelect.template +++ b/dogtag/ca-ui/shared/webapps/ca/ee/ca/ProfileSelect.template @@ -75,13 +75,39 @@ function keyTypeOptions (keyPurpose) if (keyFound == 0) { keyType = "RSA"; } - if (navigator.appName == "Microsoft Internet Explorer") { + if ((navigator.appName == "Microsoft Internet Explorer") && + ((navigator.appVersion).indexOf("NT 6.") == -1)) { keyType = "RSA"; } return keyType; } +function translateCurveName (name) +{ + var translated = ""; + if (navigator.appName == "Microsoft Internet Explorer") { + if (name == "nistp256" || name == "ECDSA_P256") { + translated = "ECDSA_P256"; + } else if (name == "nistp384" || name == "ECDSA_P384") { + translated = "ECDSA_P384"; + } else if (name == "nistp521" || name == "ECDSA_P521") { + translated = "ECDSA_P521"; + } + } else { + if (name == "ECDSA_P256") { + translated = "nistp256"; + } else if (name == "ECDSA_P384") { + translated = "nistp384"; + } else if (name == "ECDSA_P521") { + translated = "nistp521"; + } else { + translated = name; + } + } + return translated; +} + function keyLengthsCurvesOptions (keyPurpose) { var keyType = "RSA"; @@ -111,23 +137,33 @@ function keyLengthsCurvesOptions (keyPurpose) } } } - if (navigator.appName == "Microsoft Internet Explorer") { + if ((navigator.appName == "Microsoft Internet Explorer") && + ((navigator.appVersion).indexOf("NT 6.") == -1)) { keyType = "RSA"; } var value = 0; - var included = true; var l = 0; for (l = 0 ; l < lengthsOrCurves.length; l++) { + var included = true; value = lengthsOrCurves[l]; if (keyType != "EC" && !isNumeric(value)) { included = false; + } else if (keyType == "EC" && + navigator.appName == "Microsoft Internet Explorer" && + value != "nistp256" && value != "nistp384" && value != "nistp521" & + value != "ECDSA_P256" && value != "ECDSA_P384" && value != "ECDSA_P521") { + included = false; } if (included) { - options += '