Index: pki/redhat/ca-ui/shared/webapps/ca/ee/ca/ProfileSelect.template =================================================================== --- pki/redhat/ca-ui/shared/webapps/ca/ee/ca/ProfileSelect.template (revision 16023) +++ pki/redhat/ca-ui/shared/webapps/ca/ee/ca/ProfileSelect.template (working copy) @@ -75,13 +75,39 @@ 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 @@ } } } - 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 += '