List of usage examples for org.bouncycastle.jce.provider JCEECPublicKey getQ
public org.bouncycastle.math.ec.ECPoint getQ()
From source file:org.xdi.oxauth.ws.rs.TokenSignaturesHttpTest.java
License:MIT License
@Test public void es256() throws NoSuchProviderException, NoSuchAlgorithmException, InvalidAlgorithmParameterException, SignatureException, InvalidKeyException, InvalidKeySpecException, IllegalBlockSizeException, IOException, NoSuchPaddingException, BadPaddingException { showTitle("es256"); // Generate ECDSA Key KeyPair keyPair = JwtUtil.generateKeyES256(); JCEECPrivateKey privateKey = (JCEECPrivateKey) keyPair.getPrivate(); JCEECPublicKey publicKey = (JCEECPublicKey) keyPair.getPublic(); ECDSAPrivateKey ecdsaPrivateKey = new ECDSAPrivateKey(privateKey.getD()); ECDSAPublicKey ecdsaPublicKey = new ECDSAPublicKey(SignatureAlgorithm.ES256, publicKey.getQ().getX().toBigInteger(), publicKey.getQ().getY().toBigInteger()); System.out.println("PRIVATE KEY"); System.out.println("D: " + ecdsaPrivateKey.getD()); System.out.println("PUBLIC KEY"); System.out.println("X: " + ecdsaPublicKey.getX()); System.out.println("Y: " + ecdsaPublicKey.getY()); // Encode message String signingInput = "eyJhbGciOiJIUzI1NiJ9.eyJub25jZSI6ICI2Qm9HN1QwR0RUZ2wiLCAiaWRfdG9rZW4iOiB7Im1heF9hZ2UiOiA4NjQwMH0sICJzdGF0ZSI6ICJTVEFURTAiLCAicmVkaXJlY3RfdXJpIjogImh0dHBzOi8vbG9jYWxob3N0L2NhbGxiYWNrMSIsICJ1c2VyaW5mbyI6IHsiY2xhaW1zIjogeyJuYW1lIjogbnVsbH19LCAiY2xpZW50X2lkIjogIkAhMTExMSEwMDA4IUU2NTQuQjQ2MCIsICJzY29wZSI6IFsib3BlbmlkIl0sICJyZXNwb25zZV90eXBlIjogWyJjb2RlIl19"; byte[] signature = JwtUtil.getSignatureES256(signingInput.getBytes(), ecdsaPrivateKey); String encodedSignature = JwtUtil.base64urlencode(signature); System.out.println("Encoded Signature: " + encodedSignature); // Verify signature boolean signatureVerified = JwtUtil.verifySignatureES256(signingInput.getBytes(), signature, ecdsaPublicKey);// w ww . j a va2s.co m assertTrue(signatureVerified, "Invalid signature"); }
From source file:org.xdi.oxauth.ws.rs.TokenSignaturesHttpTest.java
License:MIT License
@Test public void es384() throws NoSuchProviderException, NoSuchAlgorithmException, InvalidAlgorithmParameterException, SignatureException, InvalidKeyException, InvalidKeySpecException, IllegalBlockSizeException, IOException, NoSuchPaddingException, BadPaddingException { showTitle("es384"); // Generate ECDSA Key KeyPair keyPair = JwtUtil.generateKeyES384(); JCEECPrivateKey privateKey = (JCEECPrivateKey) keyPair.getPrivate(); JCEECPublicKey publicKey = (JCEECPublicKey) keyPair.getPublic(); ECDSAPrivateKey ecdsaPrivateKey = new ECDSAPrivateKey(privateKey.getD()); ECDSAPublicKey ecdsaPublicKey = new ECDSAPublicKey(SignatureAlgorithm.ES384, publicKey.getQ().getX().toBigInteger(), publicKey.getQ().getY().toBigInteger()); System.out.println("PRIVATE KEY"); System.out.println("D: " + ecdsaPrivateKey.getD()); System.out.println("PUBLIC KEY"); System.out.println("X: " + ecdsaPublicKey.getX()); System.out.println("Y: " + ecdsaPublicKey.getY()); // Encode message String signingInput = "eyJhbGciOiJIUzI1NiJ9.eyJub25jZSI6ICI2Qm9HN1QwR0RUZ2wiLCAiaWRfdG9rZW4iOiB7Im1heF9hZ2UiOiA4NjQwMH0sICJzdGF0ZSI6ICJTVEFURTAiLCAicmVkaXJlY3RfdXJpIjogImh0dHBzOi8vbG9jYWxob3N0L2NhbGxiYWNrMSIsICJ1c2VyaW5mbyI6IHsiY2xhaW1zIjogeyJuYW1lIjogbnVsbH19LCAiY2xpZW50X2lkIjogIkAhMTExMSEwMDA4IUU2NTQuQjQ2MCIsICJzY29wZSI6IFsib3BlbmlkIl0sICJyZXNwb25zZV90eXBlIjogWyJjb2RlIl19"; byte[] signature = JwtUtil.getSignatureES384(signingInput.getBytes(), ecdsaPrivateKey); String encodedSignature = JwtUtil.base64urlencode(signature); System.out.println("Encoded Signature: " + encodedSignature); // Verify signature boolean signatureVerified = JwtUtil.verifySignatureES384(signingInput.getBytes(), signature, ecdsaPublicKey);//from w w w . ja v a 2 s .c om assertTrue(signatureVerified, "Invalid signature"); }
From source file:org.xdi.oxauth.ws.rs.TokenSignaturesHttpTest.java
License:MIT License
@Test public void es512() throws NoSuchProviderException, NoSuchAlgorithmException, InvalidAlgorithmParameterException, SignatureException, InvalidKeyException, InvalidKeySpecException, IllegalBlockSizeException, IOException, NoSuchPaddingException, BadPaddingException { showTitle("es512"); // Generate ECDSA Key KeyPair keyPair = JwtUtil.generateKeyES512(); JCEECPrivateKey privateKey = (JCEECPrivateKey) keyPair.getPrivate(); JCEECPublicKey publicKey = (JCEECPublicKey) keyPair.getPublic(); ECDSAPrivateKey ecdsaPrivateKey = new ECDSAPrivateKey(privateKey.getD()); ECDSAPublicKey ecdsaPublicKey = new ECDSAPublicKey(SignatureAlgorithm.ES512, publicKey.getQ().getX().toBigInteger(), publicKey.getQ().getY().toBigInteger()); System.out.println("PRIVATE KEY"); System.out.println("D: " + ecdsaPrivateKey.getD()); System.out.println("PUBLIC KEY"); System.out.println("X: " + ecdsaPublicKey.getX()); System.out.println("Y: " + ecdsaPublicKey.getY()); // Encode message String signingInput = "eyJhbGciOiJIUzI1NiJ9.eyJub25jZSI6ICI2Qm9HN1QwR0RUZ2wiLCAiaWRfdG9rZW4iOiB7Im1heF9hZ2UiOiA4NjQwMH0sICJzdGF0ZSI6ICJTVEFURTAiLCAicmVkaXJlY3RfdXJpIjogImh0dHBzOi8vbG9jYWxob3N0L2NhbGxiYWNrMSIsICJ1c2VyaW5mbyI6IHsiY2xhaW1zIjogeyJuYW1lIjogbnVsbH19LCAiY2xpZW50X2lkIjogIkAhMTExMSEwMDA4IUU2NTQuQjQ2MCIsICJzY29wZSI6IFsib3BlbmlkIl0sICJyZXNwb25zZV90eXBlIjogWyJjb2RlIl19"; byte[] signature = JwtUtil.getSignatureES512(signingInput.getBytes(), ecdsaPrivateKey); String encodedSignature = JwtUtil.base64urlencode(signature); System.out.println("Encoded Signature: " + encodedSignature); // Verify signature boolean signatureVerified = JwtUtil.verifySignatureES512(signingInput.getBytes(), signature, ecdsaPublicKey);//from w w w. j a v a 2 s . co m assertTrue(signatureVerified, "Invalid signature"); }