Skip to content

Commit b227e81

Browse files
committed
Using constant-time comparison for signatures.
1 parent b9683f8 commit b227e81

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/main/java/com/auth0/jwt/JWTVerifier.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import java.io.UnsupportedEncodingException;
1313
import java.nio.charset.Charset;
1414
import java.security.InvalidKeyException;
15+
import java.security.MessageDigest;
1516
import java.security.NoSuchAlgorithmException;
1617
import java.security.SignatureException;
1718
import java.util.ArrayList;
@@ -118,7 +119,7 @@ void verifySignature(String[] pieces, String algorithm) throws NoSuchAlgorithmEx
118119
hmac.init(new SecretKeySpec(secret, algorithm));
119120
byte[] sig = hmac.doFinal(new StringBuilder(pieces[0]).append(".").append(pieces[1]).toString().getBytes());
120121

121-
if (!Arrays.equals(sig, decoder.decodeBase64(pieces[2]))) {
122+
if (!MessageDigest.isEqual(sig, decoder.decodeBase64(pieces[2]))) {
122123
throw new SignatureException("signature verification failed");
123124
}
124125
}

0 commit comments

Comments
 (0)