Index: pki/base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java =================================================================== --- pki/base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java (revision 2381) +++ pki/base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java (working copy) @@ -533,6 +533,9 @@ xKey = new netscape.security.provider.RSAPublicKey( new BigInt(rsaKey.getModulus()), new BigInt(rsaKey.getPublicExponent())); + } else if (pubk instanceof PK11ECPublicKey) { + byte encoded[] = pubk.getEncoded(); + xKey = CryptoUtil.getPublicX509ECCKey(encoded); } else { // Assert.assert(pubk instanceof DSAPublicKey); DSAPublicKey dsaKey = (DSAPublicKey) pubk; Index: pki/redhat/common-ui/shared/admin/console/config/adminpanel.vm =================================================================== --- pki/redhat/common-ui/shared/admin/console/config/adminpanel.vm (revision 15995) +++ pki/redhat/common-ui/shared/admin/console/config/adminpanel.vm (working copy) @@ -35,13 +35,18 @@ var dn = "cn=" + name + ",uid=admin,e="+email+",o="+o; document.forms[0].subject.value = dn; var keyGenAlg = "rsa-dual-use"; + var keyParams = null; + if (document.forms[0].keytype.value == 'ecc') { + keyGenAlg = "ec-dual-use"; + keyParams = "curve=nistp256" + } if (navigator.appName == "Netscape" && typeof(crypto.version) != "undefined") { crmfObject = crypto.generateCRMFRequest( dn, "regToken", "authenticator", null, - "setCRMFRequest();", 1024, null, keyGenAlg); + "setCRMFRequest();", 2048, keyParams, keyGenAlg); } else { Send_OnClick(); } @@ -204,6 +209,10 @@ + + Key Type: + +