Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private ECPublicKey generateUserKey(String encodedKey) throws NoSuchAlgorithmException, NoSuchProviderException,
- InvalidAlgorithmParameterException, InvalidKeySpecException {
- // Get key parameters
- String xStr = encodedKey.substring(1, encodedKey.length() / 2 + 1);
- String yStr = encodedKey.substring(encodedKey.length() / 2 + 1, encodedKey.length());
- BigInteger x = new BigInteger(xStr, 16);
- BigInteger y = new BigInteger(yStr, 16);
- ECPoint w = new ECPoint(x, y);
- // Generate key sample to get curve parameters
- KeyPairGenerator g = KeyPairGenerator.getInstance("ECDSA", "BC");
- g.initialize(new ECGenParameterSpec("secp256k1"));
- ECParameterSpec params = ((ECPublicKey) g.generateKeyPair().getPublic()).getParams();
- // Generate key
- ECPublicKeySpec keySpec = new ECPublicKeySpec(w, params);
- ECPublicKey userKey = (ECPublicKey) KeyFactory.getInstance("ECDSA", "BC").generatePublic(keySpec);
- return userKey;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement