sun.security.ec.ECPublicKeyImpl Java Examples
The following examples show how to use
sun.security.ec.ECPublicKeyImpl.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ImportCertTest.java From WeBASE-Node-Manager with Apache License 2.0 | 6 votes |
@Test public void testPubAddress() throws IOException, CertificateException, IllegalAccessException, InstantiationException { /** * @param: nodeCert * 只有节点证书才是ECC椭圆曲线,获取pub的方法和区块链的一致 * 其余的agency chain 的crt都是rsa方法,使用大素数方法计算,不一样 */ // need crt file InputStream node = new ClassPathResource("node.crt").getInputStream(); CertificateFactory cf = CertificateFactory.getInstance("X.509"); X509Certificate nodeCert = (X509Certificate) cf.generateCertificate(node); // rsa算法的公钥和ecc的不一样 ECPublicKeyImpl pub = (ECPublicKeyImpl) nodeCert.getPublicKey(); byte[] pubBytes = pub.getEncodedPublicValue(); String publicKey = Numeric.toHexStringNoPrefix(pubBytes); String address = Keys.getAddress(publicKey); byte[] addByteArray = Keys.getAddress(pubBytes); System.out.println("byte[] : pub "); System.out.println(pubBytes); System.out.println("===================================="); System.out.println(publicKey); // 04e5e7efc9e8d5bed699313d5a0cd5b024b3c11811d50473b987b9429c2f6379742c88249a7a8ea64ab0e6f2b69fb8bb280454f28471e38621bea8f38be45bc42d System.out.println("byte[] to pub to address "); System.out.println(address); // f7b2c352e9a872d37a427601c162671202416dbc System.out.println("包含开头的04"); System.out.println(byteToHex(addByteArray)); }
Example #2
Source File: BCCertTest.java From WeBASE-Node-Manager with Apache License 2.0 | 5 votes |
@Test public void testGmCertPublicKey() throws CertificateException { String crtContent = CertTools.addCertHeadAndTail(standardNodeCrt); InputStream is2 = new ByteArrayInputStream(crtContent.getBytes()); CertificateFactory factory = new CertificateFactory(); X509Certificate certificate = (X509Certificate)factory.engineGenerateCertificate(is2); BCECPublicKey bcecPublicKey = (BCECPublicKey) certificate.getPublicKey(); System.out.println(bcecPublicKey.getEncoded()); byte[] bcecPubBytes = bcecPublicKey.getEncoded(); String publicKeyBC = Numeric.toHexStringNoPrefix(bcecPubBytes); publicKeyBC = publicKeyBC.substring(publicKeyBC.length() - 128); //证书byte[]为130位,只取128位,去除开头的04标记位 System.out.println(publicKeyBC); // 3056301006072a8648ce3d020106052b8104000a034200047853896f4e4b0891c5954d5b3f77325e39720718ec8e1a5608e4e8774bddb0dcdd63a98dad6c276603173674c477f2269e7abb1e7b8b1e9b9c852c27ad7c0814 //========== import java.security.cert.CertificateFactory; /** @Deprecated */ InputStream is = new ByteArrayInputStream(crtContent.getBytes()); java.security.cert.CertificateFactory cf = java.security.cert.CertificateFactory.getInstance("X.509"); X509Certificate cert2 = (X509Certificate) cf.generateCertificate(is); PublicKey publicKeyObject = cert2.getPublicKey(); // this.key = ECUtil.encodePoint(var1, var2.getCurve()); ECPublicKeyImpl pub = (ECPublicKeyImpl) publicKeyObject; byte[] pubBytes = pub.getEncodedPublicValue(); String publicKey = Numeric.toHexStringNoPrefix(pubBytes); publicKey = publicKey.substring(publicKey.length() - 128); //证书byte[]为130位,只取128位,去除开头的04标记位 System.out.println(publicKey);// 7853896f4e4b0891c5954d5b3f77325e39720718ec8e1a5608e4e8774bddb0dcdd63a98dad6c276603173674c477f2269e7abb1e7b8b1e9b9c852c27ad7c0814 Assert.isTrue(publicKeyBC.equals(publicKey), "public key not equal"); Assert.isTrue(publicKeyBC.equals(CertTools.getPublicKeyString(bcecPublicKey)), "public key not equal"); }
Example #3
Source File: ECKeyPairGenerator.java From jdk8u60 with GNU General Public License v2.0 | 5 votes |
@Override public KeyPair generateKeyPair() { byte[] encodedParams = ECUtil.encodeECParameterSpec(null, (ECParameterSpec)params); // seed is twice the key size (in bytes) plus 1 byte[] seed = new byte[(((keySize + 7) >> 3) + 1) * 2]; if (random == null) { random = JCAUtil.getSecureRandom(); } random.nextBytes(seed); try { Object[] keyBytes = generateECKeyPair(keySize, encodedParams, seed); // The 'params' object supplied above is equivalent to the native // one so there is no need to fetch it. // keyBytes[0] is the encoding of the native private key BigInteger s = new BigInteger(1, (byte[])keyBytes[0]); PrivateKey privateKey = new ECPrivateKeyImpl(s, (ECParameterSpec)params); // keyBytes[1] is the encoding of the native public key ECPoint w = ECUtil.decodePoint((byte[])keyBytes[1], ((ECParameterSpec)params).getCurve()); PublicKey publicKey = new ECPublicKeyImpl(w, (ECParameterSpec)params); return new KeyPair(publicKey, privateKey); } catch (Exception e) { throw new ProviderException(e); } }
Example #4
Source File: ECKeyPairGenerator.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 5 votes |
@Override public KeyPair generateKeyPair() { byte[] encodedParams = ECUtil.encodeECParameterSpec(null, (ECParameterSpec)params); // seed is twice the key size (in bytes) plus 1 byte[] seed = new byte[(((keySize + 7) >> 3) + 1) * 2]; if (random == null) { random = JCAUtil.getSecureRandom(); } random.nextBytes(seed); try { Object[] keyBytes = generateECKeyPair(keySize, encodedParams, seed); // The 'params' object supplied above is equivalent to the native // one so there is no need to fetch it. // keyBytes[0] is the encoding of the native private key BigInteger s = new BigInteger(1, (byte[])keyBytes[0]); PrivateKey privateKey = new ECPrivateKeyImpl(s, (ECParameterSpec)params); // keyBytes[1] is the encoding of the native public key ECPoint w = ECUtil.decodePoint((byte[])keyBytes[1], ((ECParameterSpec)params).getCurve()); PublicKey publicKey = new ECPublicKeyImpl(w, (ECParameterSpec)params); return new KeyPair(publicKey, privateKey); } catch (Exception e) { throw new ProviderException(e); } }
Example #5
Source File: ECKeyPairGenerator.java From openjdk-jdk9 with GNU General Public License v2.0 | 5 votes |
@Override public KeyPair generateKeyPair() { byte[] encodedParams = ECUtil.encodeECParameterSpec(null, (ECParameterSpec)params); // seed is twice the key size (in bytes) plus 1 byte[] seed = new byte[(((keySize + 7) >> 3) + 1) * 2]; if (random == null) { random = JCAUtil.getSecureRandom(); } random.nextBytes(seed); try { Object[] keyBytes = generateECKeyPair(keySize, encodedParams, seed); // The 'params' object supplied above is equivalent to the native // one so there is no need to fetch it. // keyBytes[0] is the encoding of the native private key BigInteger s = new BigInteger(1, (byte[])keyBytes[0]); PrivateKey privateKey = new ECPrivateKeyImpl(s, (ECParameterSpec)params); // keyBytes[1] is the encoding of the native public key ECPoint w = ECUtil.decodePoint((byte[])keyBytes[1], ((ECParameterSpec)params).getCurve()); PublicKey publicKey = new ECPublicKeyImpl(w, (ECParameterSpec)params); return new KeyPair(publicKey, privateKey); } catch (Exception e) { throw new ProviderException(e); } }
Example #6
Source File: ECKeyPairGenerator.java From jdk8u-jdk with GNU General Public License v2.0 | 5 votes |
@Override public KeyPair generateKeyPair() { byte[] encodedParams = ECUtil.encodeECParameterSpec(null, (ECParameterSpec)params); // seed is twice the key size (in bytes) plus 1 byte[] seed = new byte[(((keySize + 7) >> 3) + 1) * 2]; if (random == null) { random = JCAUtil.getSecureRandom(); } random.nextBytes(seed); try { Object[] keyBytes = generateECKeyPair(keySize, encodedParams, seed); // The 'params' object supplied above is equivalent to the native // one so there is no need to fetch it. // keyBytes[0] is the encoding of the native private key BigInteger s = new BigInteger(1, (byte[])keyBytes[0]); PrivateKey privateKey = new ECPrivateKeyImpl(s, (ECParameterSpec)params); // keyBytes[1] is the encoding of the native public key ECPoint w = ECUtil.decodePoint((byte[])keyBytes[1], ((ECParameterSpec)params).getCurve()); PublicKey publicKey = new ECPublicKeyImpl(w, (ECParameterSpec)params); return new KeyPair(publicKey, privateKey); } catch (Exception e) { throw new ProviderException(e); } }
Example #7
Source File: ECKeyPairGenerator.java From hottub with GNU General Public License v2.0 | 5 votes |
@Override public KeyPair generateKeyPair() { byte[] encodedParams = ECUtil.encodeECParameterSpec(null, (ECParameterSpec)params); // seed is twice the key size (in bytes) plus 1 byte[] seed = new byte[(((keySize + 7) >> 3) + 1) * 2]; if (random == null) { random = JCAUtil.getSecureRandom(); } random.nextBytes(seed); try { Object[] keyBytes = generateECKeyPair(keySize, encodedParams, seed); // The 'params' object supplied above is equivalent to the native // one so there is no need to fetch it. // keyBytes[0] is the encoding of the native private key BigInteger s = new BigInteger(1, (byte[])keyBytes[0]); PrivateKey privateKey = new ECPrivateKeyImpl(s, (ECParameterSpec)params); // keyBytes[1] is the encoding of the native public key ECPoint w = ECUtil.decodePoint((byte[])keyBytes[1], ((ECParameterSpec)params).getCurve()); PublicKey publicKey = new ECPublicKeyImpl(w, (ECParameterSpec)params); return new KeyPair(publicKey, privateKey); } catch (Exception e) { throw new ProviderException(e); } }
Example #8
Source File: ECKeyPairGenerator.java From openjdk-8-source with GNU General Public License v2.0 | 5 votes |
@Override public KeyPair generateKeyPair() { byte[] encodedParams = ECUtil.encodeECParameterSpec(null, (ECParameterSpec)params); // seed is twice the key size (in bytes) plus 1 byte[] seed = new byte[(((keySize + 7) >> 3) + 1) * 2]; if (random == null) { random = JCAUtil.getSecureRandom(); } random.nextBytes(seed); try { long[] handles = generateECKeyPair(keySize, encodedParams, seed); // The 'params' object supplied above is equivalent to the native // one so there is no need to fetch it. // handles[0] points to the native private key BigInteger s = new BigInteger(1, getEncodedBytes(handles[0])); PrivateKey privateKey = new ECPrivateKeyImpl(s, (ECParameterSpec)params); // handles[1] points to the native public key ECPoint w = ECUtil.decodePoint(getEncodedBytes(handles[1]), ((ECParameterSpec)params).getCurve()); PublicKey publicKey = new ECPublicKeyImpl(w, (ECParameterSpec)params); return new KeyPair(publicKey, privateKey); } catch (Exception e) { throw new ProviderException(e); } }
Example #9
Source File: ECKeyPairGenerator.java From openjdk-8 with GNU General Public License v2.0 | 5 votes |
@Override public KeyPair generateKeyPair() { byte[] encodedParams = ECUtil.encodeECParameterSpec(null, (ECParameterSpec)params); // seed is twice the key size (in bytes) plus 1 byte[] seed = new byte[(((keySize + 7) >> 3) + 1) * 2]; if (random == null) { random = JCAUtil.getSecureRandom(); } random.nextBytes(seed); try { long[] handles = generateECKeyPair(keySize, encodedParams, seed); // The 'params' object supplied above is equivalent to the native // one so there is no need to fetch it. // handles[0] points to the native private key BigInteger s = new BigInteger(1, getEncodedBytes(handles[0])); PrivateKey privateKey = new ECPrivateKeyImpl(s, (ECParameterSpec)params); // handles[1] points to the native public key ECPoint w = ECUtil.decodePoint(getEncodedBytes(handles[1]), ((ECParameterSpec)params).getCurve()); PublicKey publicKey = new ECPublicKeyImpl(w, (ECParameterSpec)params); return new KeyPair(publicKey, privateKey); } catch (Exception e) { throw new ProviderException(e); } }
Example #10
Source File: ECKeyPairGenerator.java From jdk8u-jdk with GNU General Public License v2.0 | 5 votes |
@Override public KeyPair generateKeyPair() { byte[] encodedParams = ECUtil.encodeECParameterSpec(null, (ECParameterSpec)params); // seed is twice the key size (in bytes) plus 1 byte[] seed = new byte[(((keySize + 7) >> 3) + 1) * 2]; if (random == null) { random = JCAUtil.getSecureRandom(); } random.nextBytes(seed); try { Object[] keyBytes = generateECKeyPair(keySize, encodedParams, seed); // The 'params' object supplied above is equivalent to the native // one so there is no need to fetch it. // keyBytes[0] is the encoding of the native private key BigInteger s = new BigInteger(1, (byte[])keyBytes[0]); PrivateKey privateKey = new ECPrivateKeyImpl(s, (ECParameterSpec)params); // keyBytes[1] is the encoding of the native public key ECPoint w = ECUtil.decodePoint((byte[])keyBytes[1], ((ECParameterSpec)params).getCurve()); PublicKey publicKey = new ECPublicKeyImpl(w, (ECParameterSpec)params); return new KeyPair(publicKey, privateKey); } catch (Exception e) { throw new ProviderException(e); } }
Example #11
Source File: ECKeyPairGenerator.java From jdk8u-dev-jdk with GNU General Public License v2.0 | 5 votes |
@Override public KeyPair generateKeyPair() { byte[] encodedParams = ECUtil.encodeECParameterSpec(null, (ECParameterSpec)params); // seed is twice the key size (in bytes) plus 1 byte[] seed = new byte[(((keySize + 7) >> 3) + 1) * 2]; if (random == null) { random = JCAUtil.getSecureRandom(); } random.nextBytes(seed); try { Object[] keyBytes = generateECKeyPair(keySize, encodedParams, seed); // The 'params' object supplied above is equivalent to the native // one so there is no need to fetch it. // keyBytes[0] is the encoding of the native private key BigInteger s = new BigInteger(1, (byte[])keyBytes[0]); PrivateKey privateKey = new ECPrivateKeyImpl(s, (ECParameterSpec)params); // keyBytes[1] is the encoding of the native public key ECPoint w = ECUtil.decodePoint((byte[])keyBytes[1], ((ECParameterSpec)params).getCurve()); PublicKey publicKey = new ECPublicKeyImpl(w, (ECParameterSpec)params); return new KeyPair(publicKey, privateKey); } catch (Exception e) { throw new ProviderException(e); } }