title: Conversion of ECPoint to BigInteger
body: <p>Can anyone please help me to fix up this issue? I need to convert the public key to a <code>BigInteger</code>. Here the public key is <code>ECPoint</code> which is a  point on the curve <code>(x,y)</code>. I don't know how to convert this to a <code>BigInteger</code>. Please help me. Here is my code:</p>
  
  <pre><code>public static void main(String[] args) throws  Exception {
      Security.addProvider(new BouncyCastleProvider());
      ECCurve curve = new ECCurve.Fp(
          new BigInteger("883423532389192164791648750360308885314476597252960362792450860609699839"), // q
          new BigInteger("7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc", 16), // a
          new BigInteger("6b016c3bdcf18941d0d654921475ca71a9db2fb27d1d37796185c2942c0a", 16)); // b
  
      ECParameterSpec ecSpec = new ECParameterSpec(
          curve,
          curve.decodePoint(Hex.decode("020ffa963cdca8816ccc33b8642bedf905c3d358573d3f27fbbd3b3cb9aaaf")), // G
          new BigInteger("883423532389192164791648750360308884807550341691627752275345424702807307")); // n
      KeyPairGenerator kpg = KeyPairGenerator.getInstance("ECDSA", "BC");
      kpg.initialize(ecSpec, new SecureRandom());
      KeyPair keyPair = kpg.generateKeyPair();
      PublicKey pubKey = keyPair.getPublic();
      System.out.println(pubKey);
      PrivateKey privKey = keyPair.getPrivate();
      System.out.println(privKey);
      BigInteger s = ((ECPrivateKey) privKey).getS();
      System.out.println(s);
      java.security.spec.ECPoint a = ((ECPublicKey) pubKey).getW();
  }
  </code></pre>