Search in sources :

Example 1 with JWSVerifier

use of org.ballerinalang.nativeimpl.jwt.crypto.JWSVerifier in project ballerina by ballerina-lang.

the class JWTVerifierTest method testRSA256Verifier.

@Test(description = "Test RSAVerifier with SHA-256 hashing ")
public void testRSA256Verifier() throws Exception {
    String data = "ewogICJhbGciOiAiUlMyNTYiLAogICJ0eXAiOiAiSldUIgp9.ewogICJzdWIiOiAiMTIzNjU0IiwKICAibmFtZSI6ICJK" + "b2huIiwKICAiaXNzIjogIndzbzIiLAogICJhdWQiOiAiYmFsbGVyaW5hIiwKICAiZXhwIjogMTUxOTk5NDU2NDI0OQp9";
    String signature = "X10zu93zSfo0TJQdyDrWZEr5RfX-8vA3dNuxkVRhhj_v51Q7FQ2WUP_rQpJGL2VyFpu23W1ypXXGiDMqDZodqQ8v" + "cf1ElO_qIC6ls0Ay6fHzjpLQdVU7bkFfpuqoboXfOSLCxwzHnvKNIWqmVBHW7CE4jPjb7_11QpT1CxwIUSXtVFk2" + "Z3gpCyfwCVe_JXtBwDbyCQGO_g2tKUSwHvvNDu3THgCcB2ALIS_JznaK9iPf55YmeNwB_KRGkaY-VLvQ5iUILWp2" + "J5SF3QavfXMNhv8GoEDBe2ZfbQgH5E-TpakoL51Ix8vELiznVl7sbtAqlD97440hW3wXoq68kboCVQ==";
    String algorithm = "RS256";
    RSAPublicKey publicKey = getRSAPublicKey();
    JWSVerifier verifier = new RSAVerifier(publicKey);
    Assert.assertTrue(verifier.verify(data, signature, algorithm));
}
Also used : RSAPublicKey(java.security.interfaces.RSAPublicKey) JWSVerifier(org.ballerinalang.nativeimpl.jwt.crypto.JWSVerifier) RSAVerifier(org.ballerinalang.nativeimpl.jwt.crypto.RSAVerifier) Test(org.testng.annotations.Test)

Example 2 with JWSVerifier

use of org.ballerinalang.nativeimpl.jwt.crypto.JWSVerifier in project ballerina by ballerina-lang.

the class Verify method execute.

@Override
public void execute(Context context) {
    String data = context.getStringArgument(0);
    String signature = context.getStringArgument(1);
    String algorithm = context.getStringArgument(2);
    String keyAlias = context.getStringArgument(3);
    Boolean validSignature = null;
    RSAPublicKey publicKey;
    try {
        publicKey = (RSAPublicKey) KeyStore.getKeyStore().getTrustedPublicKey(keyAlias);
        JWSVerifier verifier = new RSAVerifier(publicKey);
        validSignature = verifier.verify(data, signature, algorithm);
        context.setReturnValues(new BBoolean(validSignature));
    } catch (Exception e) {
        context.setReturnValues(new BBoolean(false), BLangVMErrors.createError(context, 0, e.getMessage()));
    }
}
Also used : RSAPublicKey(java.security.interfaces.RSAPublicKey) JWSVerifier(org.ballerinalang.nativeimpl.jwt.crypto.JWSVerifier) BBoolean(org.ballerinalang.model.values.BBoolean) BBoolean(org.ballerinalang.model.values.BBoolean) RSAVerifier(org.ballerinalang.nativeimpl.jwt.crypto.RSAVerifier)

Aggregations

RSAPublicKey (java.security.interfaces.RSAPublicKey)2 JWSVerifier (org.ballerinalang.nativeimpl.jwt.crypto.JWSVerifier)2 RSAVerifier (org.ballerinalang.nativeimpl.jwt.crypto.RSAVerifier)2 BBoolean (org.ballerinalang.model.values.BBoolean)1 Test (org.testng.annotations.Test)1