Advertisement
Guest User

Untitled

a guest
Jul 18th, 2018
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.94 KB | None | 0 0
  1. private ECPublicKey generateUserKey(String encodedKey) throws NoSuchAlgorithmException, NoSuchProviderException,
  2. InvalidAlgorithmParameterException, InvalidKeySpecException {
  3.  
  4. // Get key parameters
  5. String xStr = encodedKey.substring(1, encodedKey.length() / 2 + 1);
  6. String yStr = encodedKey.substring(encodedKey.length() / 2 + 1, encodedKey.length());
  7. BigInteger x = new BigInteger(xStr, 16);
  8. BigInteger y = new BigInteger(yStr, 16);
  9. ECPoint w = new ECPoint(x, y);
  10.  
  11. // Generate key sample to get curve parameters
  12. KeyPairGenerator g = KeyPairGenerator.getInstance("ECDSA", "BC");
  13. g.initialize(new ECGenParameterSpec("secp256k1"));
  14. ECParameterSpec params = ((ECPublicKey) g.generateKeyPair().getPublic()).getParams();
  15.  
  16. // Generate key
  17. ECPublicKeySpec keySpec = new ECPublicKeySpec(w, params);
  18. ECPublicKey userKey = (ECPublicKey) KeyFactory.getInstance("ECDSA", "BC").generatePublic(keySpec);
  19.  
  20. return userKey;
  21. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement