gitextract_n34qeobt/ ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── config.yml │ │ └── feature_request.md │ ├── stale.yml │ └── workflows/ │ └── ci.yml ├── .gitignore ├── .mvn/ │ └── wrapper/ │ └── maven-wrapper.properties ├── CHANGELOG.md ├── LICENSE ├── NOTICE.md ├── README.adoc ├── SECURITY.md ├── api/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── io/ │ │ └── jsonwebtoken/ │ │ ├── ClaimJwtException.java │ │ ├── Claims.java │ │ ├── ClaimsBuilder.java │ │ ├── ClaimsMutator.java │ │ ├── Clock.java │ │ ├── CompressionCodec.java │ │ ├── CompressionCodecResolver.java │ │ ├── CompressionCodecs.java │ │ ├── CompressionException.java │ │ ├── ExpiredJwtException.java │ │ ├── Header.java │ │ ├── HeaderMutator.java │ │ ├── Identifiable.java │ │ ├── IncorrectClaimException.java │ │ ├── InvalidClaimException.java │ │ ├── Jwe.java │ │ ├── JweHeader.java │ │ ├── JweHeaderMutator.java │ │ ├── Jws.java │ │ ├── JwsHeader.java │ │ ├── Jwt.java │ │ ├── JwtBuilder.java │ │ ├── JwtException.java │ │ ├── JwtHandler.java │ │ ├── JwtHandlerAdapter.java │ │ ├── JwtParser.java │ │ ├── JwtParserBuilder.java │ │ ├── JwtVisitor.java │ │ ├── Jwts.java │ │ ├── Locator.java │ │ ├── LocatorAdapter.java │ │ ├── MalformedJwtException.java │ │ ├── MissingClaimException.java │ │ ├── PrematureJwtException.java │ │ ├── ProtectedHeader.java │ │ ├── ProtectedHeaderMutator.java │ │ ├── ProtectedJwt.java │ │ ├── RequiredTypeException.java │ │ ├── SignatureAlgorithm.java │ │ ├── SignatureException.java │ │ ├── SigningKeyResolver.java │ │ ├── SigningKeyResolverAdapter.java │ │ ├── SupportedJwtVisitor.java │ │ ├── UnsupportedJwtException.java │ │ ├── io/ │ │ │ ├── AbstractDeserializer.java │ │ │ ├── AbstractSerializer.java │ │ │ ├── Base64.java │ │ │ ├── Base64Decoder.java │ │ │ ├── Base64Encoder.java │ │ │ ├── Base64Support.java │ │ │ ├── Base64UrlDecoder.java │ │ │ ├── Base64UrlEncoder.java │ │ │ ├── CodecException.java │ │ │ ├── CompressionAlgorithm.java │ │ │ ├── Decoder.java │ │ │ ├── Decoders.java │ │ │ ├── DecodingException.java │ │ │ ├── DeserializationException.java │ │ │ ├── Deserializer.java │ │ │ ├── Encoder.java │ │ │ ├── Encoders.java │ │ │ ├── EncodingException.java │ │ │ ├── ExceptionPropagatingDecoder.java │ │ │ ├── ExceptionPropagatingEncoder.java │ │ │ ├── IOException.java │ │ │ ├── Parser.java │ │ │ ├── ParserBuilder.java │ │ │ ├── SerialException.java │ │ │ ├── SerializationException.java │ │ │ └── Serializer.java │ │ ├── lang/ │ │ │ ├── Arrays.java │ │ │ ├── Assert.java │ │ │ ├── Builder.java │ │ │ ├── Classes.java │ │ │ ├── CollectionMutator.java │ │ │ ├── Collections.java │ │ │ ├── Conjunctor.java │ │ │ ├── DateFormats.java │ │ │ ├── InstantiationException.java │ │ │ ├── MapMutator.java │ │ │ ├── Maps.java │ │ │ ├── NestedCollection.java │ │ │ ├── Objects.java │ │ │ ├── Registry.java │ │ │ ├── RuntimeEnvironment.java │ │ │ ├── Strings.java │ │ │ ├── Supplier.java │ │ │ └── UnknownClassException.java │ │ └── security/ │ │ ├── AeadAlgorithm.java │ │ ├── AeadRequest.java │ │ ├── AeadResult.java │ │ ├── AssociatedDataSupplier.java │ │ ├── AsymmetricJwk.java │ │ ├── AsymmetricJwkBuilder.java │ │ ├── Curve.java │ │ ├── DecryptAeadRequest.java │ │ ├── DecryptionKeyRequest.java │ │ ├── DigestAlgorithm.java │ │ ├── DigestSupplier.java │ │ ├── DynamicJwkBuilder.java │ │ ├── EcPrivateJwk.java │ │ ├── EcPrivateJwkBuilder.java │ │ ├── EcPublicJwk.java │ │ ├── EcPublicJwkBuilder.java │ │ ├── HashAlgorithm.java │ │ ├── InvalidKeyException.java │ │ ├── IvSupplier.java │ │ ├── Jwk.java │ │ ├── JwkBuilder.java │ │ ├── JwkParserBuilder.java │ │ ├── JwkSet.java │ │ ├── JwkSetBuilder.java │ │ ├── JwkSetParserBuilder.java │ │ ├── JwkThumbprint.java │ │ ├── Jwks.java │ │ ├── KeyAlgorithm.java │ │ ├── KeyBuilder.java │ │ ├── KeyBuilderSupplier.java │ │ ├── KeyException.java │ │ ├── KeyLengthSupplier.java │ │ ├── KeyOperation.java │ │ ├── KeyOperationBuilder.java │ │ ├── KeyOperationPolicied.java │ │ ├── KeyOperationPolicy.java │ │ ├── KeyOperationPolicyBuilder.java │ │ ├── KeyPair.java │ │ ├── KeyPairBuilder.java │ │ ├── KeyPairBuilderSupplier.java │ │ ├── KeyRequest.java │ │ ├── KeyResult.java │ │ ├── KeySupplier.java │ │ ├── Keys.java │ │ ├── MacAlgorithm.java │ │ ├── MalformedKeyException.java │ │ ├── MalformedKeySetException.java │ │ ├── Message.java │ │ ├── OctetPrivateJwk.java │ │ ├── OctetPrivateJwkBuilder.java │ │ ├── OctetPublicJwk.java │ │ ├── OctetPublicJwkBuilder.java │ │ ├── Password.java │ │ ├── PrivateJwk.java │ │ ├── PrivateJwkBuilder.java │ │ ├── PrivateKeyBuilder.java │ │ ├── PublicJwk.java │ │ ├── PublicJwkBuilder.java │ │ ├── Request.java │ │ ├── RsaPrivateJwk.java │ │ ├── RsaPrivateJwkBuilder.java │ │ ├── RsaPublicJwk.java │ │ ├── RsaPublicJwkBuilder.java │ │ ├── SecretJwk.java │ │ ├── SecretJwkBuilder.java │ │ ├── SecretKeyAlgorithm.java │ │ ├── SecretKeyBuilder.java │ │ ├── SecureDigestAlgorithm.java │ │ ├── SecureRequest.java │ │ ├── SecurityBuilder.java │ │ ├── SecurityException.java │ │ ├── SignatureAlgorithm.java │ │ ├── SignatureException.java │ │ ├── UnsupportedKeyException.java │ │ ├── VerifyDigestRequest.java │ │ ├── VerifySecureDigestRequest.java │ │ ├── WeakKeyException.java │ │ ├── X509Accessor.java │ │ ├── X509Builder.java │ │ └── X509Mutator.java │ └── test/ │ └── groovy/ │ └── io/ │ └── jsonwebtoken/ │ ├── CompressionExceptionTest.groovy │ ├── ExpiredJwtExceptionTest.groovy │ ├── IncorrectClaimExceptionTest.groovy │ ├── InvalidClaimExceptionTest.groovy │ ├── JwtHandlerAdapterTest.groovy │ ├── MalformedJwtExceptionTest.groovy │ ├── MissingClaimExceptionTest.groovy │ ├── PrematureJwtExceptionTest.groovy │ ├── RequiredTypeExceptionTest.groovy │ ├── SignatureExceptionTest.groovy │ ├── SigningKeyResolverAdapterTest.groovy │ ├── UnsupportedJwtExceptionTest.groovy │ ├── io/ │ │ ├── AbstractDeserializerTest.groovy │ │ ├── AbstractSerializerTest.groovy │ │ ├── Base64DecoderTest.groovy │ │ ├── Base64EncoderTest.groovy │ │ ├── Base64Test.groovy │ │ ├── CodecExceptionTest.groovy │ │ ├── DecodersTest.groovy │ │ ├── DecodingExceptionTest.groovy │ │ ├── DeserializationExceptionTest.groovy │ │ ├── EncodersTest.groovy │ │ ├── EncodingExceptionTest.groovy │ │ ├── ExceptionPropagatingDecoderTest.groovy │ │ ├── ExceptionPropagatingEncoderTest.groovy │ │ └── SerializationExceptionTest.groovy │ ├── lang/ │ │ ├── ArraysTest.groovy │ │ ├── CollectionsTest.groovy │ │ ├── DateFormatsTest.groovy │ │ ├── MapsTest.groovy │ │ └── StringsTest.groovy │ └── security/ │ ├── InvalidKeyExceptionTest.groovy │ ├── MalformedKeyExceptionTest.groovy │ ├── SignatureExceptionTest.groovy │ └── UnsupportedKeyExceptionTest.groovy ├── bom/ │ └── pom.xml ├── extensions/ │ ├── gson/ │ │ ├── bnd.bnd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── jsonwebtoken/ │ │ │ │ └── gson/ │ │ │ │ └── io/ │ │ │ │ ├── GsonDeserializer.java │ │ │ │ ├── GsonSerializer.java │ │ │ │ └── GsonSupplierSerializer.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ └── services/ │ │ │ ├── io.jsonwebtoken.io.Deserializer │ │ │ └── io.jsonwebtoken.io.Serializer │ │ └── test/ │ │ └── groovy/ │ │ └── io/ │ │ └── jsonwebtoken/ │ │ └── gson/ │ │ └── io/ │ │ ├── GsonDeserializerTest.groovy │ │ └── GsonSerializerTest.groovy │ ├── jackson/ │ │ ├── bnd.bnd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── jsonwebtoken/ │ │ │ │ └── jackson/ │ │ │ │ └── io/ │ │ │ │ ├── JacksonDeserializer.java │ │ │ │ ├── JacksonSerializer.java │ │ │ │ └── JacksonSupplierSerializer.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ └── services/ │ │ │ ├── io.jsonwebtoken.io.Deserializer │ │ │ └── io.jsonwebtoken.io.Serializer │ │ └── test/ │ │ └── groovy/ │ │ └── io/ │ │ └── jsonwebtoken/ │ │ └── jackson/ │ │ └── io/ │ │ ├── JacksonDeserializerTest.groovy │ │ ├── JacksonSerializerTest.groovy │ │ ├── JacksonSupplierSerializerTest.groovy │ │ ├── TestSupplier.groovy │ │ └── stubs/ │ │ └── CustomBean.groovy │ ├── orgjson/ │ │ ├── bnd.bnd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── jsonwebtoken/ │ │ │ │ └── orgjson/ │ │ │ │ └── io/ │ │ │ │ ├── OrgJsonDeserializer.java │ │ │ │ └── OrgJsonSerializer.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ └── services/ │ │ │ ├── io.jsonwebtoken.io.Deserializer │ │ │ └── io.jsonwebtoken.io.Serializer │ │ └── test/ │ │ └── groovy/ │ │ └── io/ │ │ └── jsonwebtoken/ │ │ └── orgjson/ │ │ └── io/ │ │ ├── AndroidOrgJsonSerializerTest.groovy │ │ ├── OrgJsonDeserializerTest.groovy │ │ └── OrgJsonSerializerTest.groovy │ └── pom.xml ├── impl/ │ ├── bnd.bnd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── io/ │ │ │ └── jsonwebtoken/ │ │ │ └── impl/ │ │ │ ├── AbstractAudienceCollection.java │ │ │ ├── AbstractTextCodec.java │ │ │ ├── AbstractX509Context.java │ │ │ ├── AndroidBase64Codec.java │ │ │ ├── Base64Codec.java │ │ │ ├── Base64UrlCodec.java │ │ │ ├── CompressionCodecLocator.java │ │ │ ├── DefaultClaims.java │ │ │ ├── DefaultClaimsBuilder.java │ │ │ ├── DefaultClock.java │ │ │ ├── DefaultHeader.java │ │ │ ├── DefaultJwe.java │ │ │ ├── DefaultJweHeader.java │ │ │ ├── DefaultJweHeaderBuilder.java │ │ │ ├── DefaultJweHeaderMutator.java │ │ │ ├── DefaultJws.java │ │ │ ├── DefaultJwsHeader.java │ │ │ ├── DefaultJwt.java │ │ │ ├── DefaultJwtBuilder.java │ │ │ ├── DefaultJwtHeaderBuilder.java │ │ │ ├── DefaultJwtParser.java │ │ │ ├── DefaultJwtParserBuilder.java │ │ │ ├── DefaultMutableJweHeader.java │ │ │ ├── DefaultProtectedHeader.java │ │ │ ├── DefaultProtectedJwt.java │ │ │ ├── DefaultTokenizedJwe.java │ │ │ ├── DefaultTokenizedJwt.java │ │ │ ├── DelegateAudienceCollection.java │ │ │ ├── DelegatingClaimsMutator.java │ │ │ ├── FixedClock.java │ │ │ ├── IdLocator.java │ │ │ ├── JwtTokenizer.java │ │ │ ├── ParameterMap.java │ │ │ ├── Payload.java │ │ │ ├── TextCodec.java │ │ │ ├── TokenizedJwe.java │ │ │ ├── TokenizedJwt.java │ │ │ ├── X509Context.java │ │ │ ├── compression/ │ │ │ │ ├── AbstractCompressionAlgorithm.java │ │ │ │ ├── DeflateCompressionAlgorithm.java │ │ │ │ └── GzipCompressionAlgorithm.java │ │ │ ├── io/ │ │ │ │ ├── AbstractParser.java │ │ │ │ ├── AbstractParserBuilder.java │ │ │ │ ├── Base64Codec.java │ │ │ │ ├── Base64InputStream.java │ │ │ │ ├── Base64OutputStream.java │ │ │ │ ├── Base64UrlStreamEncoder.java │ │ │ │ ├── BaseNCodec.java │ │ │ │ ├── BaseNCodecInputStream.java │ │ │ │ ├── BaseNCodecOutputStream.java │ │ │ │ ├── ByteBase64UrlStreamEncoder.java │ │ │ │ ├── BytesInputStream.java │ │ │ │ ├── CharSequenceReader.java │ │ │ │ ├── ClosedInputStream.java │ │ │ │ ├── Codec.java │ │ │ │ ├── CodecPolicy.java │ │ │ │ ├── ConvertingParser.java │ │ │ │ ├── CountingInputStream.java │ │ │ │ ├── DecodingInputStream.java │ │ │ │ ├── DelegateStringDecoder.java │ │ │ │ ├── EncodingOutputStream.java │ │ │ │ ├── FilteredInputStream.java │ │ │ │ ├── FilteredOutputStream.java │ │ │ │ ├── JsonObjectDeserializer.java │ │ │ │ ├── NamedSerializer.java │ │ │ │ ├── StandardCompressionAlgorithms.java │ │ │ │ ├── Streams.java │ │ │ │ ├── TeeOutputStream.java │ │ │ │ └── UncloseableInputStream.java │ │ │ ├── lang/ │ │ │ │ ├── BiConsumer.java │ │ │ │ ├── BigIntegerUBytesConverter.java │ │ │ │ ├── Bytes.java │ │ │ │ ├── CheckedFunction.java │ │ │ │ ├── CheckedSupplier.java │ │ │ │ ├── CollectionConverter.java │ │ │ │ ├── CompactMediaTypeIdConverter.java │ │ │ │ ├── CompoundConverter.java │ │ │ │ ├── ConstantFunction.java │ │ │ │ ├── Converter.java │ │ │ │ ├── Converters.java │ │ │ │ ├── DefaultCollectionMutator.java │ │ │ │ ├── DefaultNestedCollection.java │ │ │ │ ├── DefaultParameter.java │ │ │ │ ├── DefaultParameterBuilder.java │ │ │ │ ├── DefaultRegistry.java │ │ │ │ ├── DelegatingCheckedFunction.java │ │ │ │ ├── DelegatingMap.java │ │ │ │ ├── DelegatingMapMutator.java │ │ │ │ ├── EncodedObjectConverter.java │ │ │ │ ├── FormattedStringFunction.java │ │ │ │ ├── FormattedStringSupplier.java │ │ │ │ ├── Function.java │ │ │ │ ├── Functions.java │ │ │ │ ├── IdRegistry.java │ │ │ │ ├── JwtDateConverter.java │ │ │ │ ├── LocatorFunction.java │ │ │ │ ├── Nameable.java │ │ │ │ ├── NestedIdentifiableCollection.java │ │ │ │ ├── NullSafeConverter.java │ │ │ │ ├── OptionalMethodInvoker.java │ │ │ │ ├── Parameter.java │ │ │ │ ├── ParameterBuilder.java │ │ │ │ ├── ParameterReadable.java │ │ │ │ ├── Parameters.java │ │ │ │ ├── PositiveIntegerConverter.java │ │ │ │ ├── PropagatingExceptionFunction.java │ │ │ │ ├── RedactedSupplier.java │ │ │ │ ├── RedactedValueConverter.java │ │ │ │ ├── ReflectionFunction.java │ │ │ │ ├── RequiredBitLengthConverter.java │ │ │ │ ├── RequiredParameterReader.java │ │ │ │ ├── RequiredTypeConverter.java │ │ │ │ ├── Services.java │ │ │ │ ├── StringRegistry.java │ │ │ │ ├── UnavailableImplementationException.java │ │ │ │ └── UriStringConverter.java │ │ │ └── security/ │ │ │ ├── AbstractAsymmetricJwk.java │ │ │ ├── AbstractAsymmetricJwkBuilder.java │ │ │ ├── AbstractCurve.java │ │ │ ├── AbstractEcJwkFactory.java │ │ │ ├── AbstractFamilyJwkFactory.java │ │ │ ├── AbstractJwk.java │ │ │ ├── AbstractJwkBuilder.java │ │ │ ├── AbstractJwkParserBuilder.java │ │ │ ├── AbstractPrivateJwk.java │ │ │ ├── AbstractPublicJwk.java │ │ │ ├── AbstractSecureDigestAlgorithm.java │ │ │ ├── AbstractSecurityBuilder.java │ │ │ ├── AbstractSignatureAlgorithm.java │ │ │ ├── AesAlgorithm.java │ │ │ ├── AesGcmKeyAlgorithm.java │ │ │ ├── AesWrapKeyAlgorithm.java │ │ │ ├── AsymmetricJwkFactory.java │ │ │ ├── ConcatKDF.java │ │ │ ├── ConstantKeyLocator.java │ │ │ ├── CryptoAlgorithm.java │ │ │ ├── DefaultAeadRequest.java │ │ │ ├── DefaultAeadResult.java │ │ │ ├── DefaultDecryptAeadRequest.java │ │ │ ├── DefaultDecryptionKeyRequest.java │ │ │ ├── DefaultDynamicJwkBuilder.java │ │ │ ├── DefaultEcPrivateJwk.java │ │ │ ├── DefaultEcPublicJwk.java │ │ │ ├── DefaultHashAlgorithm.java │ │ │ ├── DefaultJwkContext.java │ │ │ ├── DefaultJwkParserBuilder.java │ │ │ ├── DefaultJwkSet.java │ │ │ ├── DefaultJwkSetBuilder.java │ │ │ ├── DefaultJwkSetParserBuilder.java │ │ │ ├── DefaultJwkThumbprint.java │ │ │ ├── DefaultKeyOperation.java │ │ │ ├── DefaultKeyOperationBuilder.java │ │ │ ├── DefaultKeyOperationPolicy.java │ │ │ ├── DefaultKeyOperationPolicyBuilder.java │ │ │ ├── DefaultKeyPair.java │ │ │ ├── DefaultKeyPairBuilder.java │ │ │ ├── DefaultKeyRequest.java │ │ │ ├── DefaultKeyResult.java │ │ │ ├── DefaultKeyUseStrategy.java │ │ │ ├── DefaultMacAlgorithm.java │ │ │ ├── DefaultMessage.java │ │ │ ├── DefaultOctetPrivateJwk.java │ │ │ ├── DefaultOctetPublicJwk.java │ │ │ ├── DefaultRequest.java │ │ │ ├── DefaultRsaKeyAlgorithm.java │ │ │ ├── DefaultRsaPrivateJwk.java │ │ │ ├── DefaultRsaPublicJwk.java │ │ │ ├── DefaultSecretJwk.java │ │ │ ├── DefaultSecretKeyBuilder.java │ │ │ ├── DefaultSecureRequest.java │ │ │ ├── DefaultVerifyDigestRequest.java │ │ │ ├── DefaultVerifySecureDigestRequest.java │ │ │ ├── DirectKeyAlgorithm.java │ │ │ ├── DispatchingJwkFactory.java │ │ │ ├── ECCurve.java │ │ │ ├── EcPrivateJwkFactory.java │ │ │ ├── EcPublicJwkFactory.java │ │ │ ├── EcSignatureAlgorithm.java │ │ │ ├── EcdhKeyAlgorithm.java │ │ │ ├── EdSignatureAlgorithm.java │ │ │ ├── EdwardsCurve.java │ │ │ ├── EdwardsPublicKeyDeriver.java │ │ │ ├── FamilyJwkFactory.java │ │ │ ├── FieldElementConverter.java │ │ │ ├── GcmAesAeadAlgorithm.java │ │ │ ├── HmacAesAeadAlgorithm.java │ │ │ ├── JcaTemplate.java │ │ │ ├── JwkBuilderSupplier.java │ │ │ ├── JwkContext.java │ │ │ ├── JwkConverter.java │ │ │ ├── JwkDeserializer.java │ │ │ ├── JwkFactory.java │ │ │ ├── JwkSetConverter.java │ │ │ ├── JwkSetDeserializer.java │ │ │ ├── JwksBridge.java │ │ │ ├── JwtX509StringConverter.java │ │ │ ├── KeyOperationConverter.java │ │ │ ├── KeyPairs.java │ │ │ ├── KeyUsage.java │ │ │ ├── KeyUseStrategy.java │ │ │ ├── KeysBridge.java │ │ │ ├── LocatingKeyResolver.java │ │ │ ├── NamedParameterSpecValueFinder.java │ │ │ ├── NoneSignatureAlgorithm.java │ │ │ ├── OctetJwkFactory.java │ │ │ ├── OctetPrivateJwkFactory.java │ │ │ ├── OctetPublicJwkFactory.java │ │ │ ├── PasswordSpec.java │ │ │ ├── Pbes2HsAkwAlgorithm.java │ │ │ ├── PrivateECKey.java │ │ │ ├── ProvidedKeyBuilder.java │ │ │ ├── ProvidedPrivateKeyBuilder.java │ │ │ ├── ProvidedSecretKeyBuilder.java │ │ │ ├── ProviderKey.java │ │ │ ├── ProviderPrivateKey.java │ │ │ ├── ProviderSecretKey.java │ │ │ ├── Providers.java │ │ │ ├── RSAOtherPrimeInfoConverter.java │ │ │ ├── RandomSecretKeyBuilder.java │ │ │ ├── Randoms.java │ │ │ ├── RsaPrivateJwkFactory.java │ │ │ ├── RsaPublicJwkFactory.java │ │ │ ├── RsaSignatureAlgorithm.java │ │ │ ├── SecretJwkFactory.java │ │ │ ├── StandardCurves.java │ │ │ ├── StandardEncryptionAlgorithms.java │ │ │ ├── StandardHashAlgorithms.java │ │ │ ├── StandardKeyAlgorithms.java │ │ │ ├── StandardKeyOperations.java │ │ │ ├── StandardSecureDigestAlgorithms.java │ │ │ └── X509BuilderSupport.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── services/ │ │ └── io.jsonwebtoken.CompressionCodec │ └── test/ │ ├── groovy/ │ │ └── io/ │ │ └── jsonwebtoken/ │ │ ├── CompressionCodecsTest.groovy │ │ ├── CustomObjectDeserializationTest.groovy │ │ ├── DateTestUtils.groovy │ │ ├── JwtParserTest.groovy │ │ ├── JwtsTest.groovy │ │ ├── LocatorAdapterTest.groovy │ │ ├── RFC7515AppendixETest.groovy │ │ ├── RFC7797Test.groovy │ │ ├── RsaSigningKeyResolverAdapterTest.groovy │ │ ├── SignatureAlgorithmTest.groovy │ │ ├── StubService.groovy │ │ ├── impl/ │ │ │ ├── AbstractProtectedHeaderTest.groovy │ │ │ ├── AndroidBase64CodecTest.groovy │ │ │ ├── Base64CodecTest.groovy │ │ │ ├── Base64UrlCodecTest.groovy │ │ │ ├── DefaultClaimsBuilderTest.groovy │ │ │ ├── DefaultClaimsTest.groovy │ │ │ ├── DefaultHeaderTest.groovy │ │ │ ├── DefaultJweHeaderTest.groovy │ │ │ ├── DefaultJweTest.groovy │ │ │ ├── DefaultJwsHeaderTest.groovy │ │ │ ├── DefaultJwsTest.groovy │ │ │ ├── DefaultJwtBuilderTest.groovy │ │ │ ├── DefaultJwtHeaderBuilderTest.groovy │ │ │ ├── DefaultJwtParserBuilderTest.groovy │ │ │ ├── DefaultJwtParserTest.groovy │ │ │ ├── DefaultJwtTest.groovy │ │ │ ├── DefaultMutableJweHeaderTest.groovy │ │ │ ├── DefaultStubService.groovy │ │ │ ├── DelegateAudienceCollectionTest.groovy │ │ │ ├── FixedClockTest.groovy │ │ │ ├── IdLocatorTest.groovy │ │ │ ├── JwtTokenizerTest.groovy │ │ │ ├── ParameterMapTest.groovy │ │ │ ├── RfcTests.groovy │ │ │ ├── compression/ │ │ │ │ ├── AbstractCompressionAlgorithmTest.groovy │ │ │ │ ├── DeflateCompressionCodecTest.groovy │ │ │ │ └── YagCompressionCodec.groovy │ │ │ ├── io/ │ │ │ │ ├── ClosedInputStreamTest.groovy │ │ │ │ ├── CodecTest.groovy │ │ │ │ ├── CountingInputStreamTest.groovy │ │ │ │ ├── DecodingInputStreamTest.groovy │ │ │ │ ├── DelegateStringDecoderTest.groovy │ │ │ │ ├── EncodingOutputStreamTest.groovy │ │ │ │ ├── JsonObjectDeserializerTest.groovy │ │ │ │ ├── StreamsTest.groovy │ │ │ │ ├── TeeOutputStreamTest.groovy │ │ │ │ └── TestSerializer.groovy │ │ │ ├── lang/ │ │ │ │ ├── BigIntegerUBytesConverterTest.groovy │ │ │ │ ├── BytesTest.groovy │ │ │ │ ├── CollectionConverterTest.groovy │ │ │ │ ├── CompactMediaTypeIdConverterTest.groovy │ │ │ │ ├── ConvertersTest.groovy │ │ │ │ ├── DefaultCollectionMutatorTest.groovy │ │ │ │ ├── DefaultRegistryTest.groovy │ │ │ │ ├── DelegatingMapTest.groovy │ │ │ │ ├── EncodedObjectConverterTest.groovy │ │ │ │ ├── FunctionsTest.groovy │ │ │ │ ├── JwtDateConverterTest.groovy │ │ │ │ ├── LocatorFunctionTest.groovy │ │ │ │ ├── NestedIdentifiableCollectionTest.groovy │ │ │ │ ├── NullSafeConverterTest.groovy │ │ │ │ ├── OptionalMethodInvokerTest.groovy │ │ │ │ ├── ParametersTest.groovy │ │ │ │ ├── PropagatingExceptionFunctionTest.groovy │ │ │ │ ├── RedactedSupplierTest.groovy │ │ │ │ ├── RedactedValueConverterTest.groovy │ │ │ │ ├── RequiredTypeConverterTest.groovy │ │ │ │ ├── ServicesTest.groovy │ │ │ │ ├── StringRegistryTest.groovy │ │ │ │ ├── TestParameterReadable.groovy │ │ │ │ └── UriStringConverterTest.groovy │ │ │ └── security/ │ │ │ ├── AbstractAsymmetricJwkBuilderTest.groovy │ │ │ ├── AbstractCurveTest.groovy │ │ │ ├── AbstractEcJwkFactoryTest.groovy │ │ │ ├── AbstractFamilyJwkFactoryTest.groovy │ │ │ ├── AbstractJwkBuilderTest.groovy │ │ │ ├── AbstractJwkTest.groovy │ │ │ ├── AbstractSecureDigestAlgorithmTest.groovy │ │ │ ├── AesAlgorithmTest.groovy │ │ │ ├── AesGcmKeyAlgorithmTest.groovy │ │ │ ├── ConcatKDFTest.groovy │ │ │ ├── ConstantKeyLocatorTest.groovy │ │ │ ├── CryptoAlgorithmTest.groovy │ │ │ ├── DefaultHashAlgorithmTest.groovy │ │ │ ├── DefaultJwkContextTest.groovy │ │ │ ├── DefaultJwkParserBuilderTest.groovy │ │ │ ├── DefaultJwkSetBuilderTest.groovy │ │ │ ├── DefaultJwkSetParserBuilderTest.groovy │ │ │ ├── DefaultJwkSetTest.groovy │ │ │ ├── DefaultJwkThumbprintTest.groovy │ │ │ ├── DefaultKeyOperationBuilderTest.groovy │ │ │ ├── DefaultKeyOperationPolicyBuilderTest.groovy │ │ │ ├── DefaultKeyOperationTest.groovy │ │ │ ├── DefaultKeyPairBuilderTest.groovy │ │ │ ├── DefaultKeyUseStrategyTest.groovy │ │ │ ├── DefaultMacAlgorithmTest.groovy │ │ │ ├── DefaultMessageTest.groovy │ │ │ ├── DefaultRsaKeyAlgorithmTest.groovy │ │ │ ├── DefaultRsaPrivateJwkTest.groovy │ │ │ ├── DefaultSecretKeyBuilderTest.groovy │ │ │ ├── DirectKeyAlgorithmTest.groovy │ │ │ ├── DispatchingJwkFactoryTest.groovy │ │ │ ├── ECCurveTest.groovy │ │ │ ├── EcPrivateJwkFactoryTest.groovy │ │ │ ├── EcPublicJwkFactoryTest.groovy │ │ │ ├── EcSignatureAlgorithmTest.groovy │ │ │ ├── EcdhKeyAlgorithmTest.groovy │ │ │ ├── EdSignatureAlgorithmTest.groovy │ │ │ ├── EdwardsCurveTest.groovy │ │ │ ├── EdwardsPublicKeyDeriverTest.groovy │ │ │ ├── FieldElementConverterTest.groovy │ │ │ ├── GcmAesAeadAlgorithmTest.groovy │ │ │ ├── HashAlgorithmsTest.groovy │ │ │ ├── HmacAesAeadAlgorithmTest.groovy │ │ │ ├── JcaTemplateTest.groovy │ │ │ ├── JwkConverterTest.groovy │ │ │ ├── JwkSerializationTest.groovy │ │ │ ├── JwkSetConverterTest.groovy │ │ │ ├── JwkThumbprintsTest.groovy │ │ │ ├── JwksTest.groovy │ │ │ ├── JwtX509StringConverterTest.groovy │ │ │ ├── KeyOperationConverterTest.groovy │ │ │ ├── KeyPairsTest.groovy │ │ │ ├── KeyUsageTest.groovy │ │ │ ├── KeysBridgeTest.groovy │ │ │ ├── LocatingKeyResolverTest.groovy │ │ │ ├── NoneSignatureAlgorithmTest.groovy │ │ │ ├── OctetJwksTest.groovy │ │ │ ├── PasswordSpecTest.groovy │ │ │ ├── Pbes2HsAkwAlgorithmTest.groovy │ │ │ ├── Pkcs11Test.groovy │ │ │ ├── PrivateConstructorsTest.groovy │ │ │ ├── PrivateECKeyTest.groovy │ │ │ ├── ProvidedKeyBuilderTest.groovy │ │ │ ├── ProvidedSecretKeyBuilderTest.groovy │ │ │ ├── ProviderKeyTest.groovy │ │ │ ├── ProvidersTest.groovy │ │ │ ├── ProvidersWithoutBCTest.groovy │ │ │ ├── RFC7516AppendixA1Test.groovy │ │ │ ├── RFC7516AppendixA2Test.groovy │ │ │ ├── RFC7516AppendixA3Test.groovy │ │ │ ├── RFC7517AppendixA1Test.groovy │ │ │ ├── RFC7517AppendixA2Test.groovy │ │ │ ├── RFC7517AppendixA3Test.groovy │ │ │ ├── RFC7517AppendixBTest.groovy │ │ │ ├── RFC7517AppendixCTest.groovy │ │ │ ├── RFC7518AppendixB1Test.groovy │ │ │ ├── RFC7518AppendixB2Test.groovy │ │ │ ├── RFC7518AppendixB3Test.groovy │ │ │ ├── RFC7518AppendixCTest.groovy │ │ │ ├── RFC7520Section3Test.groovy │ │ │ ├── RFC7520Section4Test.groovy │ │ │ ├── RFC7520Section5Test.groovy │ │ │ ├── RFC7638Section3Dot1Test.groovy │ │ │ ├── RFC8037AppendixATest.groovy │ │ │ ├── RSAOtherPrimeInfoConverterTest.groovy │ │ │ ├── RandomsTest.groovy │ │ │ ├── RsaPrivateJwkFactoryTest.groovy │ │ │ ├── RsaSignatureAlgorithmTest.groovy │ │ │ ├── SecretJwkFactoryTest.groovy │ │ │ ├── StandardCurvesTest.groovy │ │ │ ├── StandardSecureDigestAlgorithmsTest.groovy │ │ │ ├── TestAeadAlgorithm.groovy │ │ │ ├── TestCertificates.groovy │ │ │ ├── TestECField.groovy │ │ │ ├── TestECKey.groovy │ │ │ ├── TestECPrivateKey.groovy │ │ │ ├── TestECPublicKey.groovy │ │ │ ├── TestKey.groovy │ │ │ ├── TestKeyAlgorithm.groovy │ │ │ ├── TestKeys.groovy │ │ │ ├── TestMacAlgorithm.groovy │ │ │ ├── TestPrivateKey.groovy │ │ │ ├── TestProvider.groovy │ │ │ ├── TestPublicKey.groovy │ │ │ ├── TestRSAKey.groovy │ │ │ ├── TestRSAMultiPrimePrivateCrtKey.groovy │ │ │ ├── TestRSAPrivateKey.groovy │ │ │ ├── TestSecretKey.groovy │ │ │ └── TestX509Certificate.groovy │ │ ├── issues/ │ │ │ ├── Issue365Test.groovy │ │ │ ├── Issue438Test.groovy │ │ │ └── Issue858Test.groovy │ │ └── security/ │ │ ├── EncryptionAlgorithmsTest.groovy │ │ ├── JwksCRVTest.groovy │ │ ├── JwksOPTest.groovy │ │ ├── KeyAlgorithmsTest.groovy │ │ ├── KeysImplTest.groovy │ │ ├── KeysTest.groovy │ │ └── StandardAlgorithmsTest.groovy │ ├── resources/ │ │ ├── META-INF/ │ │ │ └── services/ │ │ │ └── io.jsonwebtoken.StubService │ │ ├── io/ │ │ │ └── jsonwebtoken/ │ │ │ └── impl/ │ │ │ └── security/ │ │ │ ├── ES256.crt.pem │ │ │ ├── ES256.pkcs8.pem │ │ │ ├── ES256.pub.pem │ │ │ ├── ES384.crt.pem │ │ │ ├── ES384.pkcs8.pem │ │ │ ├── ES384.pub.pem │ │ │ ├── ES512.crt.pem │ │ │ ├── ES512.pkcs8.pem │ │ │ ├── ES512.pub.pem │ │ │ ├── Ed25519.crt.pem │ │ │ ├── Ed25519.pkcs8.pem │ │ │ ├── Ed25519.pub.pem │ │ │ ├── Ed448.crt.pem │ │ │ ├── Ed448.pkcs8.pem │ │ │ ├── Ed448.pub.pem │ │ │ ├── PS256.crt.pem │ │ │ ├── PS256.pkcs8.pem │ │ │ ├── PS256.pub.pem │ │ │ ├── PS384.crt.pem │ │ │ ├── PS384.pkcs8.pem │ │ │ ├── PS384.pub.pem │ │ │ ├── PS512.crt.pem │ │ │ ├── PS512.pkcs8.pem │ │ │ ├── PS512.pub.pem │ │ │ ├── README.md │ │ │ ├── RS256.crt.pem │ │ │ ├── RS256.pkcs8.pem │ │ │ ├── RS256.pub.pem │ │ │ ├── RS384.crt.pem │ │ │ ├── RS384.pkcs8.pem │ │ │ ├── RS384.pub.pem │ │ │ ├── RS512.crt.pem │ │ │ ├── RS512.pkcs8.pem │ │ │ ├── RS512.pub.pem │ │ │ ├── X25519.crt.pem │ │ │ ├── X25519.pkcs8.pem │ │ │ ├── X25519.pub.pem │ │ │ ├── X448.crt.pem │ │ │ ├── X448.pkcs8.pem │ │ │ ├── X448.pub.pem │ │ │ └── genkeys │ │ ├── io.jsonwebtoken.io.Deserializer.test.gson │ │ ├── io.jsonwebtoken.io.Deserializer.test.orgjson │ │ ├── io.jsonwebtoken.io.Serializer.test.gson │ │ ├── io.jsonwebtoken.io.Serializer.test.orgjson │ │ └── io.jsonwebtoken.io.compression.CompressionCodec.test.override │ └── scripts/ │ └── softhsm ├── mvnw ├── mvnw.cmd ├── pom.xml ├── src/ │ └── license/ │ └── header.txt └── tdjar/ ├── pom.xml └── src/ └── test/ ├── groovy/ │ └── io/ │ └── jsonwebtoken/ │ └── all/ │ └── BasicTest.groovy └── java/ └── io/ └── jsonwebtoken/ └── all/ └── JavaReadmeTest.java