< prev index next >

src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11ECKeyFactory.java

Print this page

        

*** 250,261 **** (O_IMPORT, CKO_PUBLIC_KEY, CKK_EC, attributes); Session session = null; try { session = token.getObjSession(); long keyID = token.p11.C_CreateObject(session.id(), attributes); ! return P11Key.publicKey ! (session, keyID, "EC", params.getCurve().getField().getFieldSize(), attributes); } finally { token.releaseSession(session); } } --- 250,262 ---- (O_IMPORT, CKO_PUBLIC_KEY, CKK_EC, attributes); Session session = null; try { session = token.getObjSession(); long keyID = token.p11.C_CreateObject(session.id(), attributes); ! return P11Key.publicKey(session, keyID, "EC", ! params.getCurve().getField().getFieldSize(), ! attributes, true); } finally { token.releaseSession(session); } }
*** 273,284 **** (O_IMPORT, CKO_PRIVATE_KEY, CKK_EC, attributes); Session session = null; try { session = token.getObjSession(); long keyID = token.p11.C_CreateObject(session.id(), attributes); ! return P11Key.privateKey ! (session, keyID, "EC", params.getCurve().getField().getFieldSize(), attributes); } finally { token.releaseSession(session); } } --- 274,286 ---- (O_IMPORT, CKO_PRIVATE_KEY, CKK_EC, attributes); Session session = null; try { session = token.getObjSession(); long keyID = token.p11.C_CreateObject(session.id(), attributes); ! return P11Key.privateKey(session, keyID, "EC", ! params.getCurve().getField().getFieldSize(), ! attributes, true); } finally { token.releaseSession(session); } }
*** 288,298 **** session[0] = token.getObjSession(); CK_ATTRIBUTE[] attributes = new CK_ATTRIBUTE[] { new CK_ATTRIBUTE(CKA_EC_POINT), new CK_ATTRIBUTE(CKA_EC_PARAMS), }; ! token.p11.C_GetAttributeValue(session[0].id(), key.keyID, attributes); try { ECParameterSpec params = decodeParameters(attributes[1].getByteArray()); ECPoint point = decodePoint(attributes[0].getByteArray(), params.getCurve()); return keySpec.cast(new ECPublicKeySpec(point, params)); } catch (IOException e) { --- 290,306 ---- session[0] = token.getObjSession(); CK_ATTRIBUTE[] attributes = new CK_ATTRIBUTE[] { new CK_ATTRIBUTE(CKA_EC_POINT), new CK_ATTRIBUTE(CKA_EC_PARAMS), }; ! key.incNativeKeyRef(); ! try { ! token.p11.C_GetAttributeValue(session[0].id(), key.keyID, ! attributes); ! } finally { ! key.decNativeKeyRef(); ! } try { ECParameterSpec params = decodeParameters(attributes[1].getByteArray()); ECPoint point = decodePoint(attributes[0].getByteArray(), params.getCurve()); return keySpec.cast(new ECPublicKeySpec(point, params)); } catch (IOException e) {
*** 310,320 **** session[0] = token.getObjSession(); CK_ATTRIBUTE[] attributes = new CK_ATTRIBUTE[] { new CK_ATTRIBUTE(CKA_VALUE), new CK_ATTRIBUTE(CKA_EC_PARAMS), }; ! token.p11.C_GetAttributeValue(session[0].id(), key.keyID, attributes); try { ECParameterSpec params = decodeParameters(attributes[1].getByteArray()); return keySpec.cast( new ECPrivateKeySpec(attributes[0].getBigInteger(), params)); } catch (IOException e) { --- 318,334 ---- session[0] = token.getObjSession(); CK_ATTRIBUTE[] attributes = new CK_ATTRIBUTE[] { new CK_ATTRIBUTE(CKA_VALUE), new CK_ATTRIBUTE(CKA_EC_PARAMS), }; ! key.incNativeKeyRef(); ! try { ! token.p11.C_GetAttributeValue(session[0].id(), key.keyID, ! attributes); ! } finally { ! key.decNativeKeyRef(); ! } try { ECParameterSpec params = decodeParameters(attributes[1].getByteArray()); return keySpec.cast( new ECPrivateKeySpec(attributes[0].getBigInteger(), params)); } catch (IOException e) {
< prev index next >