diff --git a/jasypt-1.9.0-StandardPBEStringEncryptor.patch b/jasypt-1.9.0-StandardPBEStringEncryptor.patch new file mode 100644 index 0000000..f682d81 --- /dev/null +++ b/jasypt-1.9.0-StandardPBEStringEncryptor.patch @@ -0,0 +1,47 @@ +--- src/main/java/org/jasypt/encryption/pbe/StandardPBEStringEncryptor.java 2012-05-18 12:53:02.207205238 +0200 ++++ src/main/java/org/jasypt/encryption/pbe/StandardPBEStringEncryptor.java-gil 2012-05-18 13:00:40.411190405 +0200 +@@ -197,10 +197,6 @@ + // The StandardPBEByteEncryptor that will be internally used. + private final StandardPBEByteEncryptor byteEncryptor; + +- // BASE64 encoder which will make sure the returned results are +- // valid US-ASCII strings. +- // The Base64 encoder is THREAD-SAFE +- private final Base64 base64; + + + +@@ -210,7 +206,6 @@ + public StandardPBEStringEncryptor() { + super(); + this.byteEncryptor = new StandardPBEByteEncryptor(); +- this.base64 = new Base64(); + } + + +@@ -222,7 +217,6 @@ + private StandardPBEStringEncryptor(final StandardPBEByteEncryptor standardPBEByteEncryptor) { + super(); + this.byteEncryptor = standardPBEByteEncryptor; +- this.base64 = new Base64(); + } + + +@@ -645,7 +639,7 @@ + // the safest result String possible. + String result = null; + if (this.stringOutputTypeBase64) { +- encryptedMessage = this.base64.encode(encryptedMessage); ++ encryptedMessage = new Base64().encode(encryptedMessage); + result = new String(encryptedMessage,ENCRYPTED_MESSAGE_CHARSET); + } else { + result = CommonUtils.toHexadecimal(encryptedMessage); +@@ -715,7 +709,7 @@ + encryptedMessageBytes = + encryptedMessage.getBytes(ENCRYPTED_MESSAGE_CHARSET); + encryptedMessageBytes = +- this.base64.decode(encryptedMessageBytes); ++ new Base64().decode(encryptedMessageBytes); + } else { + encryptedMessageBytes = + CommonUtils.fromHexadecimal(encryptedMessage); diff --git a/jasypt-1.9.0-StandardStringDigester.patch b/jasypt-1.9.0-StandardStringDigester.patch new file mode 100644 index 0000000..e3c55ae --- /dev/null +++ b/jasypt-1.9.0-StandardStringDigester.patch @@ -0,0 +1,47 @@ +--- src/main/java/org/jasypt/digest/StandardStringDigester.java 2012-05-18 12:48:19.309214394 +0200 ++++ src/main/java/org/jasypt/digest/StandardStringDigester.java-jhernand 2012-05-18 12:51:20.344208536 +0200 +@@ -268,10 +268,6 @@ + private boolean suffixSet = false; + + +- // BASE64 encoder which will make sure the returned digests are +- // valid US-ASCII strings (if the user chooses BASE64 output). +- // The Bsae64 encoder is THREAD-SAFE +- private final Base64 base64; + + + +@@ -281,7 +277,6 @@ + public StandardStringDigester() { + super(); + this.byteDigester = new StandardByteDigester(); +- this.base64 = new Base64(); + } + + +@@ -293,7 +288,6 @@ + private StandardStringDigester(final StandardByteDigester standardByteDigester) { + super(); + this.byteDigester = standardByteDigester; +- this.base64 = new Base64(); + } + + +@@ -932,7 +926,7 @@ + // We encode the result in BASE64 or HEXADECIMAL so that we obtain + // the safest result String possible. + if (this.stringOutputTypeBase64) { +- digest = this.base64.encode(digest); ++ digest = new Base64().encode(digest); + result.append(new String(digest, DIGEST_CHARSET)); + } else { + result.append(CommonUtils.toHexadecimal(digest)); +@@ -1043,7 +1037,7 @@ + if (this.stringOutputTypeBase64) { + // The digest must be a US-ASCII String BASE64-encoded + digestBytes = processedDigest.getBytes(DIGEST_CHARSET); +- digestBytes = this.base64.decode(digestBytes); ++ digestBytes = new Base64().decode(digestBytes); + } else { + digestBytes = CommonUtils.fromHexadecimal(processedDigest); + } diff --git a/jasypt-1.9.0-use-system-commons-codec.patch b/jasypt-1.9.0-use-system-commons-codec.patch new file mode 100644 index 0000000..9546d5e --- /dev/null +++ b/jasypt-1.9.0-use-system-commons-codec.patch @@ -0,0 +1,969 @@ +diff -Nru jasypt-1.9.0/pom.xml jasypt-1.9.0-gil/pom.xml +--- jasypt-1.9.0/pom.xml 2011-12-18 10:34:50.000000000 +0100 ++++ jasypt-1.9.0-gil/pom.xml 2013-07-08 13:33:58.033580327 +0200 +@@ -236,6 +236,14 @@ + + + ++ commons-codec ++ commons-codec ++ 1.4 ++ provided ++ true ++ ++ ++ + javax.servlet + servlet-api + 2.4 +diff -Nru jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/binary/Base64.java jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/binary/Base64.java +--- jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/binary/Base64.java 2010-10-10 12:19:03.000000000 +0200 ++++ jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/binary/Base64.java 1970-01-01 01:00:00.000000000 +0100 +@@ -1,528 +0,0 @@ +-/* +- * Copyright 2001-2004 The Apache Software Foundation. +- * +- * Licensed under the Apache License, Version 2.0 (the "License"); +- * you may not use this file except in compliance with the License. +- * You may obtain a copy of the License at +- * +- * http://www.apache.org/licenses/LICENSE-2.0 +- * +- * Unless required by applicable law or agreed to in writing, software +- * distributed under the License is distributed on an "AS IS" BASIS, +- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +- * See the License for the specific language governing permissions and +- * limitations under the License. +- */ +-/* +- * IMPORTANT NOTE: This class has been included into Jasypt's source tree from +- * Apache Commons-Codec version 1.3 [see http://commons.apache.org/codec], +- * licensed under Apache License 2.0 [see http://www.apache.org/licenses/LICENSE-2.0]. +- * No modifications have been made to the code of this class except the package name. +- */ +-package org.jasypt.contrib.org.apache.commons.codec_1_3.binary; +- +-import org.jasypt.contrib.org.apache.commons.codec_1_3.BinaryDecoder; +-import org.jasypt.contrib.org.apache.commons.codec_1_3.BinaryEncoder; +-import org.jasypt.contrib.org.apache.commons.codec_1_3.DecoderException; +-import org.jasypt.contrib.org.apache.commons.codec_1_3.EncoderException; +- +-/** +- * Provides Base64 encoding and decoding as defined by RFC 2045. +- * +- *

This class implements section 6.8. Base64 Content-Transfer-Encoding +- * from RFC 2045 Multipurpose Internet Mail Extensions (MIME) Part One: +- * Format of Internet Message Bodies by Freed and Borenstein.

+- * +- * @see RFC 2045 +- * @author Apache Software Foundation +- * @since 1.0-dev +- */ +-public class Base64 implements BinaryEncoder, BinaryDecoder { +- +- /** +- * Chunk size per RFC 2045 section 6.8. +- * +- *

The {@value} character limit does not count the trailing CRLF, but counts +- * all other characters, including any equal signs.

+- * +- * @see RFC 2045 section 6.8 +- */ +- static final int CHUNK_SIZE = 76; +- +- /** +- * Chunk separator per RFC 2045 section 2.1. +- * +- * @see RFC 2045 section 2.1 +- */ +- static final byte[] CHUNK_SEPARATOR = "\r\n".getBytes(); +- +- /** +- * The base length. +- */ +- static final int BASELENGTH = 255; +- +- /** +- * Lookup length. +- */ +- static final int LOOKUPLENGTH = 64; +- +- /** +- * Used to calculate the number of bits in a byte. +- */ +- static final int EIGHTBIT = 8; +- +- /** +- * Used when encoding something which has fewer than 24 bits. +- */ +- static final int SIXTEENBIT = 16; +- +- /** +- * Used to determine how many bits data contains. +- */ +- static final int TWENTYFOURBITGROUP = 24; +- +- /** +- * Used to get the number of Quadruples. +- */ +- static final int FOURBYTE = 4; +- +- /** +- * Used to test the sign of a byte. +- */ +- static final int SIGN = -128; +- +- /** +- * Byte used to pad output. +- */ +- static final byte PAD = (byte) '='; +- +- // Create arrays to hold the base64 characters and a +- // lookup for base64 chars +- private static byte[] base64Alphabet = new byte[BASELENGTH]; +- private static byte[] lookUpBase64Alphabet = new byte[LOOKUPLENGTH]; +- +- // Populating the lookup and character arrays +- static { +- for (int i = 0; i < BASELENGTH; i++) { +- base64Alphabet[i] = (byte) -1; +- } +- for (int i = 'Z'; i >= 'A'; i--) { +- base64Alphabet[i] = (byte) (i - 'A'); +- } +- for (int i = 'z'; i >= 'a'; i--) { +- base64Alphabet[i] = (byte) (i - 'a' + 26); +- } +- for (int i = '9'; i >= '0'; i--) { +- base64Alphabet[i] = (byte) (i - '0' + 52); +- } +- +- base64Alphabet['+'] = 62; +- base64Alphabet['/'] = 63; +- +- for (int i = 0; i <= 25; i++) { +- lookUpBase64Alphabet[i] = (byte) ('A' + i); +- } +- +- for (int i = 26, j = 0; i <= 51; i++, j++) { +- lookUpBase64Alphabet[i] = (byte) ('a' + j); +- } +- +- for (int i = 52, j = 0; i <= 61; i++, j++) { +- lookUpBase64Alphabet[i] = (byte) ('0' + j); +- } +- +- lookUpBase64Alphabet[62] = (byte) '+'; +- lookUpBase64Alphabet[63] = (byte) '/'; +- } +- +- private static boolean isBase64(byte octect) { +- if (octect == PAD) { +- return true; +- } else if (base64Alphabet[octect] == -1) { +- return false; +- } else { +- return true; +- } +- } +- +- /** +- * Tests a given byte array to see if it contains +- * only valid characters within the Base64 alphabet. +- * +- * @param arrayOctect byte array to test +- * @return true if all bytes are valid characters in the Base64 +- * alphabet or if the byte array is empty; false, otherwise +- */ +- public static boolean isArrayByteBase64(byte[] arrayOctect) { +- +- arrayOctect = discardWhitespace(arrayOctect); +- +- int length = arrayOctect.length; +- if (length == 0) { +- // shouldn't a 0 length array be valid base64 data? +- // return false; +- return true; +- } +- for (int i = 0; i < length; i++) { +- if (!isBase64(arrayOctect[i])) { +- return false; +- } +- } +- return true; +- } +- +- /** +- * Encodes binary data using the base64 algorithm but +- * does not chunk the output. +- * +- * @param binaryData binary data to encode +- * @return Base64 characters +- */ +- public static byte[] encodeBase64(byte[] binaryData) { +- return encodeBase64(binaryData, false); +- } +- +- /** +- * Encodes binary data using the base64 algorithm and chunks +- * the encoded output into 76 character blocks +- * +- * @param binaryData binary data to encode +- * @return Base64 characters chunked in 76 character blocks +- */ +- public static byte[] encodeBase64Chunked(byte[] binaryData) { +- return encodeBase64(binaryData, true); +- } +- +- +- /** +- * Decodes an Object using the base64 algorithm. This method +- * is provided in order to satisfy the requirements of the +- * Decoder interface, and will throw a DecoderException if the +- * supplied object is not of type byte[]. +- * +- * @param pObject Object to decode +- * @return An object (of type byte[]) containing the +- * binary data which corresponds to the byte[] supplied. +- * @throws DecoderException if the parameter supplied is not +- * of type byte[] +- */ +- public Object decode(Object pObject) throws DecoderException { +- if (!(pObject instanceof byte[])) { +- throw new DecoderException("Parameter supplied to Base64 decode is not a byte[]"); +- } +- return decode((byte[]) pObject); +- } +- +- /** +- * Decodes a byte[] containing containing +- * characters in the Base64 alphabet. +- * +- * @param pArray A byte array containing Base64 character data +- * @return a byte array containing binary data +- */ +- public byte[] decode(byte[] pArray) { +- return decodeBase64(pArray); +- } +- +- /** +- * Encodes binary data using the base64 algorithm, optionally +- * chunking the output into 76 character blocks. +- * +- * @param binaryData Array containing binary data to encode. +- * @param isChunked if isChunked is true this encoder will chunk +- * the base64 output into 76 character blocks +- * @return Base64-encoded data. +- */ +- public static byte[] encodeBase64(byte[] binaryData, boolean isChunked) { +- int lengthDataBits = binaryData.length * EIGHTBIT; +- int fewerThan24bits = lengthDataBits % TWENTYFOURBITGROUP; +- int numberTriplets = lengthDataBits / TWENTYFOURBITGROUP; +- byte encodedData[] = null; +- int encodedDataLength = 0; +- int nbrChunks = 0; +- +- if (fewerThan24bits != 0) { +- //data not divisible by 24 bit +- encodedDataLength = (numberTriplets + 1) * 4; +- } else { +- // 16 or 8 bit +- encodedDataLength = numberTriplets * 4; +- } +- +- // If the output is to be "chunked" into 76 character sections, +- // for compliance with RFC 2045 MIME, then it is important to +- // allow for extra length to account for the separator(s) +- if (isChunked) { +- +- nbrChunks = +- (CHUNK_SEPARATOR.length == 0 ? 0 : (int) Math.ceil((float) encodedDataLength / CHUNK_SIZE)); +- encodedDataLength += nbrChunks * CHUNK_SEPARATOR.length; +- } +- +- encodedData = new byte[encodedDataLength]; +- +- byte k = 0, l = 0, b1 = 0, b2 = 0, b3 = 0; +- +- int encodedIndex = 0; +- int dataIndex = 0; +- int i = 0; +- int nextSeparatorIndex = CHUNK_SIZE; +- int chunksSoFar = 0; +- +- //log.debug("number of triplets = " + numberTriplets); +- for (i = 0; i < numberTriplets; i++) { +- dataIndex = i * 3; +- b1 = binaryData[dataIndex]; +- b2 = binaryData[dataIndex + 1]; +- b3 = binaryData[dataIndex + 2]; +- +- //log.debug("b1= " + b1 +", b2= " + b2 + ", b3= " + b3); +- +- l = (byte) (b2 & 0x0f); +- k = (byte) (b1 & 0x03); +- +- byte val1 = +- ((b1 & SIGN) == 0) ? (byte) (b1 >> 2) : (byte) ((b1) >> 2 ^ 0xc0); +- byte val2 = +- ((b2 & SIGN) == 0) ? (byte) (b2 >> 4) : (byte) ((b2) >> 4 ^ 0xf0); +- byte val3 = +- ((b3 & SIGN) == 0) ? (byte) (b3 >> 6) : (byte) ((b3) >> 6 ^ 0xfc); +- +- encodedData[encodedIndex] = lookUpBase64Alphabet[val1]; +- //log.debug( "val2 = " + val2 ); +- //log.debug( "k4 = " + (k<<4) ); +- //log.debug( "vak = " + (val2 | (k<<4)) ); +- encodedData[encodedIndex + 1] = +- lookUpBase64Alphabet[val2 | (k << 4)]; +- encodedData[encodedIndex + 2] = +- lookUpBase64Alphabet[(l << 2) | val3]; +- encodedData[encodedIndex + 3] = lookUpBase64Alphabet[b3 & 0x3f]; +- +- encodedIndex += 4; +- +- // If we are chunking, let's put a chunk separator down. +- if (isChunked) { +- // this assumes that CHUNK_SIZE % 4 == 0 +- if (encodedIndex == nextSeparatorIndex) { +- System.arraycopy( +- CHUNK_SEPARATOR, +- 0, +- encodedData, +- encodedIndex, +- CHUNK_SEPARATOR.length); +- chunksSoFar++; +- nextSeparatorIndex = +- (CHUNK_SIZE * (chunksSoFar + 1)) + +- (chunksSoFar * CHUNK_SEPARATOR.length); +- encodedIndex += CHUNK_SEPARATOR.length; +- } +- } +- } +- +- // form integral number of 6-bit groups +- dataIndex = i * 3; +- +- if (fewerThan24bits == EIGHTBIT) { +- b1 = binaryData[dataIndex]; +- k = (byte) (b1 & 0x03); +- //log.debug("b1=" + b1); +- //log.debug("b1<<2 = " + (b1>>2) ); +- byte val1 = +- ((b1 & SIGN) == 0) ? (byte) (b1 >> 2) : (byte) ((b1) >> 2 ^ 0xc0); +- encodedData[encodedIndex] = lookUpBase64Alphabet[val1]; +- encodedData[encodedIndex + 1] = lookUpBase64Alphabet[k << 4]; +- encodedData[encodedIndex + 2] = PAD; +- encodedData[encodedIndex + 3] = PAD; +- } else if (fewerThan24bits == SIXTEENBIT) { +- +- b1 = binaryData[dataIndex]; +- b2 = binaryData[dataIndex + 1]; +- l = (byte) (b2 & 0x0f); +- k = (byte) (b1 & 0x03); +- +- byte val1 = +- ((b1 & SIGN) == 0) ? (byte) (b1 >> 2) : (byte) ((b1) >> 2 ^ 0xc0); +- byte val2 = +- ((b2 & SIGN) == 0) ? (byte) (b2 >> 4) : (byte) ((b2) >> 4 ^ 0xf0); +- +- encodedData[encodedIndex] = lookUpBase64Alphabet[val1]; +- encodedData[encodedIndex + 1] = +- lookUpBase64Alphabet[val2 | (k << 4)]; +- encodedData[encodedIndex + 2] = lookUpBase64Alphabet[l << 2]; +- encodedData[encodedIndex + 3] = PAD; +- } +- +- if (isChunked) { +- // we also add a separator to the end of the final chunk. +- if (chunksSoFar < nbrChunks) { +- System.arraycopy( +- CHUNK_SEPARATOR, +- 0, +- encodedData, +- encodedDataLength - CHUNK_SEPARATOR.length, +- CHUNK_SEPARATOR.length); +- } +- } +- +- return encodedData; +- } +- +- /** +- * Decodes Base64 data into octects +- * +- * @param base64Data Byte array containing Base64 data +- * @return Array containing decoded data. +- */ +- public static byte[] decodeBase64(byte[] base64Data) { +- // RFC 2045 requires that we discard ALL non-Base64 characters +- base64Data = discardNonBase64(base64Data); +- +- // handle the edge case, so we don't have to worry about it later +- if (base64Data.length == 0) { +- return new byte[0]; +- } +- +- int numberQuadruple = base64Data.length / FOURBYTE; +- byte decodedData[] = null; +- byte b1 = 0, b2 = 0, b3 = 0, b4 = 0, marker0 = 0, marker1 = 0; +- +- // Throw away anything not in base64Data +- +- int encodedIndex = 0; +- int dataIndex = 0; +- { +- // this sizes the output array properly - rlw +- int lastData = base64Data.length; +- // ignore the '=' padding +- while (base64Data[lastData - 1] == PAD) { +- if (--lastData == 0) { +- return new byte[0]; +- } +- } +- decodedData = new byte[lastData - numberQuadruple]; +- } +- +- for (int i = 0; i < numberQuadruple; i++) { +- dataIndex = i * 4; +- marker0 = base64Data[dataIndex + 2]; +- marker1 = base64Data[dataIndex + 3]; +- +- b1 = base64Alphabet[base64Data[dataIndex]]; +- b2 = base64Alphabet[base64Data[dataIndex + 1]]; +- +- if (marker0 != PAD && marker1 != PAD) { +- //No PAD e.g 3cQl +- b3 = base64Alphabet[marker0]; +- b4 = base64Alphabet[marker1]; +- +- decodedData[encodedIndex] = (byte) (b1 << 2 | b2 >> 4); +- decodedData[encodedIndex + 1] = +- (byte) (((b2 & 0xf) << 4) | ((b3 >> 2) & 0xf)); +- decodedData[encodedIndex + 2] = (byte) (b3 << 6 | b4); +- } else if (marker0 == PAD) { +- //Two PAD e.g. 3c[Pad][Pad] +- decodedData[encodedIndex] = (byte) (b1 << 2 | b2 >> 4); +- } else if (marker1 == PAD) { +- //One PAD e.g. 3cQ[Pad] +- b3 = base64Alphabet[marker0]; +- +- decodedData[encodedIndex] = (byte) (b1 << 2 | b2 >> 4); +- decodedData[encodedIndex + 1] = +- (byte) (((b2 & 0xf) << 4) | ((b3 >> 2) & 0xf)); +- } +- encodedIndex += 3; +- } +- return decodedData; +- } +- +- /** +- * Discards any whitespace from a base-64 encoded block. +- * +- * @param data The base-64 encoded data to discard the whitespace +- * from. +- * @return The data, less whitespace (see RFC 2045). +- */ +- static byte[] discardWhitespace(byte[] data) { +- byte groomedData[] = new byte[data.length]; +- int bytesCopied = 0; +- +- for (int i = 0; i < data.length; i++) { +- switch (data[i]) { +- case (byte) ' ' : +- case (byte) '\n' : +- case (byte) '\r' : +- case (byte) '\t' : +- break; +- default: +- groomedData[bytesCopied++] = data[i]; +- } +- } +- +- byte packedData[] = new byte[bytesCopied]; +- +- System.arraycopy(groomedData, 0, packedData, 0, bytesCopied); +- +- return packedData; +- } +- +- /** +- * Discards any characters outside of the base64 alphabet, per +- * the requirements on page 25 of RFC 2045 - "Any characters +- * outside of the base64 alphabet are to be ignored in base64 +- * encoded data." +- * +- * @param data The base-64 encoded data to groom +- * @return The data, less non-base64 characters (see RFC 2045). +- */ +- static byte[] discardNonBase64(byte[] data) { +- byte groomedData[] = new byte[data.length]; +- int bytesCopied = 0; +- +- for (int i = 0; i < data.length; i++) { +- if (isBase64(data[i])) { +- groomedData[bytesCopied++] = data[i]; +- } +- } +- +- byte packedData[] = new byte[bytesCopied]; +- +- System.arraycopy(groomedData, 0, packedData, 0, bytesCopied); +- +- return packedData; +- } +- +- +- // Implementation of the Encoder Interface +- +- /** +- * Encodes an Object using the base64 algorithm. This method +- * is provided in order to satisfy the requirements of the +- * Encoder interface, and will throw an EncoderException if the +- * supplied object is not of type byte[]. +- * +- * @param pObject Object to encode +- * @return An object (of type byte[]) containing the +- * base64 encoded data which corresponds to the byte[] supplied. +- * @throws EncoderException if the parameter supplied is not +- * of type byte[] +- */ +- public Object encode(Object pObject) throws EncoderException { +- if (!(pObject instanceof byte[])) { +- throw new EncoderException( +- "Parameter supplied to Base64 encode is not a byte[]"); +- } +- return encode((byte[]) pObject); +- } +- +- /** +- * Encodes a byte[] containing binary data, into a byte[] containing +- * characters in the Base64 alphabet. +- * +- * @param pArray a byte array containing binary data +- * @return A byte array containing only Base64 character data +- */ +- public byte[] encode(byte[] pArray) { +- return encodeBase64(pArray, false); +- } +- +-} +diff -Nru jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/BinaryDecoder.java jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/BinaryDecoder.java +--- jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/BinaryDecoder.java 2010-10-10 12:19:03.000000000 +0200 ++++ jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/BinaryDecoder.java 1970-01-01 01:00:00.000000000 +0100 +@@ -1,46 +0,0 @@ +-/* +- * Copyright 2001-2004 The Apache Software Foundation. +- * +- * Licensed under the Apache License, Version 2.0 (the "License"); +- * you may not use this file except in compliance with the License. +- * You may obtain a copy of the License at +- * +- * http://www.apache.org/licenses/LICENSE-2.0 +- * +- * Unless required by applicable law or agreed to in writing, software +- * distributed under the License is distributed on an "AS IS" BASIS, +- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +- * See the License for the specific language governing permissions and +- * limitations under the License. +- */ +-/* +- * IMPORTANT NOTE: This class has been included into Jasypt's source tree from +- * Apache Commons-Codec version 1.3 [see http://commons.apache.org/codec], +- * licensed under Apache License 2.0 [see http://www.apache.org/licenses/LICENSE-2.0]. +- * No modifications have been made to the code of this class except the package name. +- */ +- +-package org.jasypt.contrib.org.apache.commons.codec_1_3; +- +-/** +- * Defines common decoding methods for byte array decoders. +- * +- * @author Apache Software Foundation +- */ +-public interface BinaryDecoder extends Decoder { +- +- /** +- * Decodes a byte array and returns the results as a byte array. +- * +- * @param pArray A byte array which has been encoded with the +- * appropriate encoder +- * +- * @return a byte array that contains decoded content +- * +- * @throws DecoderException A decoder exception is thrown +- * if a Decoder encounters a failure condition during +- * the decode process. +- */ +- byte[] decode(byte[] pArray) throws DecoderException; +-} +- +diff -Nru jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/BinaryEncoder.java jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/BinaryEncoder.java +--- jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/BinaryEncoder.java 2010-10-10 12:19:03.000000000 +0200 ++++ jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/BinaryEncoder.java 1970-01-01 01:00:00.000000000 +0100 +@@ -1,46 +0,0 @@ +-/* +- * Copyright 2001-2004 The Apache Software Foundation. +- * +- * Licensed under the Apache License, Version 2.0 (the "License"); +- * you may not use this file except in compliance with the License. +- * You may obtain a copy of the License at +- * +- * http://www.apache.org/licenses/LICENSE-2.0 +- * +- * Unless required by applicable law or agreed to in writing, software +- * distributed under the License is distributed on an "AS IS" BASIS, +- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +- * See the License for the specific language governing permissions and +- * limitations under the License. +- */ +-/* +- * IMPORTANT NOTE: This class has been included into Jasypt's source tree from +- * Apache Commons-Codec version 1.3 [see http://commons.apache.org/codec], +- * licensed under Apache License 2.0 [see http://www.apache.org/licenses/LICENSE-2.0]. +- * No modifications have been made to the code of this class except the package name. +- */ +- +-package org.jasypt.contrib.org.apache.commons.codec_1_3; +- +-/** +- * Defines common encoding methods for byte array encoders. +- * +- * @author Apache Software Foundation +- */ +-public interface BinaryEncoder extends Encoder { +- +- /** +- * Encodes a byte array and return the encoded data +- * as a byte array. +- * +- * @param pArray Data to be encoded +- * +- * @return A byte array containing the encoded data +- * +- * @throws EncoderException thrown if the Encoder +- * encounters a failure condition during the +- * encoding process. +- */ +- byte[] encode(byte[] pArray) throws EncoderException; +-} +- +diff -Nru jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/DecoderException.java jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/DecoderException.java +--- jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/DecoderException.java 2010-10-10 12:19:03.000000000 +0200 ++++ jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/DecoderException.java 1970-01-01 01:00:00.000000000 +0100 +@@ -1,42 +0,0 @@ +-/* +- * Copyright 2001-2004 The Apache Software Foundation. +- * +- * Licensed under the Apache License, Version 2.0 (the "License"); +- * you may not use this file except in compliance with the License. +- * You may obtain a copy of the License at +- * +- * http://www.apache.org/licenses/LICENSE-2.0 +- * +- * Unless required by applicable law or agreed to in writing, software +- * distributed under the License is distributed on an "AS IS" BASIS, +- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +- * See the License for the specific language governing permissions and +- * limitations under the License. +- */ +-/* +- * IMPORTANT NOTE: This class has been included into Jasypt's source tree from +- * Apache Commons-Codec version 1.3 [see http://commons.apache.org/codec], +- * licensed under Apache License 2.0 [see http://www.apache.org/licenses/LICENSE-2.0]. +- * No modifications have been made to the code of this class except the package name. +- */ +- +-package org.jasypt.contrib.org.apache.commons.codec_1_3; +- +-/** +- * Thrown when a Decoder has encountered a failure condition during a decode. +- * +- * @author Apache Software Foundation +- */ +-public class DecoderException extends Exception { +- +- /** +- * Creates a DecoderException +- * +- * @param pMessage A message with meaning to a human +- */ +- public DecoderException(String pMessage) { +- super(pMessage); +- } +- +-} +- +diff -Nru jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/Decoder.java jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/Decoder.java +--- jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/Decoder.java 2010-10-10 12:19:03.000000000 +0200 ++++ jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/Decoder.java 1970-01-01 01:00:00.000000000 +0100 +@@ -1,59 +0,0 @@ +-/* +- * Copyright 2001-2004 The Apache Software Foundation. +- * +- * Licensed under the Apache License, Version 2.0 (the "License"); +- * you may not use this file except in compliance with the License. +- * You may obtain a copy of the License at +- * +- * http://www.apache.org/licenses/LICENSE-2.0 +- * +- * Unless required by applicable law or agreed to in writing, software +- * distributed under the License is distributed on an "AS IS" BASIS, +- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +- * See the License for the specific language governing permissions and +- * limitations under the License. +- */ +-/* +- * IMPORTANT NOTE: This class has been included into Jasypt's source tree from +- * Apache Commons-Codec version 1.3 [see http://commons.apache.org/codec], +- * licensed under Apache License 2.0 [see http://www.apache.org/licenses/LICENSE-2.0]. +- * No modifications have been made to the code of this class except the package name. +- */ +- +-package org.jasypt.contrib.org.apache.commons.codec_1_3; +- +-/** +- *

Provides the highest level of abstraction for Decoders. +- * This is the sister interface of {@link Encoder}. All +- * Decoders implement this common generic interface.

+- * +- *

Allows a user to pass a generic Object to any Decoder +- * implementation in the codec package.

+- * +- *

One of the two interfaces at the center of the codec package.

+- * +- * @author Apache Software Foundation +- */ +-public interface Decoder { +- +- /** +- * Decodes an "encoded" Object and returns a "decoded" +- * Object. Note that the implementation of this +- * interface will try to cast the Object parameter +- * to the specific type expected by a particular Decoder +- * implementation. If a {@link java.lang.ClassCastException} occurs +- * this decode method will throw a DecoderException. +- * +- * @param pObject an object to "decode" +- * +- * @return a 'decoded" object +- * +- * @throws DecoderException a decoder exception can +- * be thrown for any number of reasons. Some good +- * candidates are that the parameter passed to this +- * method is null, a param cannot be cast to the +- * appropriate type for a specific encoder. +- */ +- Object decode(Object pObject) throws DecoderException; +-} +- +diff -Nru jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/EncoderException.java jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/EncoderException.java +--- jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/EncoderException.java 2010-10-10 12:19:03.000000000 +0200 ++++ jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/EncoderException.java 1970-01-01 01:00:00.000000000 +0100 +@@ -1,44 +0,0 @@ +-/* +- * Copyright 2001-2004 The Apache Software Foundation. +- * +- * Licensed under the Apache License, Version 2.0 (the "License"); +- * you may not use this file except in compliance with the License. +- * You may obtain a copy of the License at +- * +- * http://www.apache.org/licenses/LICENSE-2.0 +- * +- * Unless required by applicable law or agreed to in writing, software +- * distributed under the License is distributed on an "AS IS" BASIS, +- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +- * See the License for the specific language governing permissions and +- * limitations under the License. +- */ +-/* +- * IMPORTANT NOTE: This class has been included into Jasypt's source tree from +- * Apache Commons-Codec version 1.3 [see http://commons.apache.org/codec], +- * licensed under Apache License 2.0 [see http://www.apache.org/licenses/LICENSE-2.0]. +- * No modifications have been made to the code of this class except the package name. +- */ +- +-package org.jasypt.contrib.org.apache.commons.codec_1_3; +- +-/** +- * Thrown when there is a failure condition during the encoding process. This +- * exception is thrown when an Encoder encounters a encoding specific exception +- * such as invalid data, inability to calculate a checksum, characters outside of the +- * expected range. +- * +- * @author Apache Software Foundation +- */ +-public class EncoderException extends Exception { +- +- /** +- * Creates a new instance of this exception with an useful message. +- * +- * @param pMessage a useful message relating to the encoder specific error. +- */ +- public EncoderException(String pMessage) { +- super(pMessage); +- } +-} +- +diff -Nru jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/Encoder.java jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/Encoder.java +--- jasypt-1.9.0/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/Encoder.java 2010-10-10 12:19:03.000000000 +0200 ++++ jasypt-1.9.0-gil/src/main/java/org/jasypt/contrib/org/apache/commons/codec_1_3/Encoder.java 1970-01-01 01:00:00.000000000 +0100 +@@ -1,50 +0,0 @@ +-/* +- * Copyright 2001-2004 The Apache Software Foundation. +- * +- * Licensed under the Apache License, Version 2.0 (the "License"); +- * you may not use this file except in compliance with the License. +- * You may obtain a copy of the License at +- * +- * http://www.apache.org/licenses/LICENSE-2.0 +- * +- * Unless required by applicable law or agreed to in writing, software +- * distributed under the License is distributed on an "AS IS" BASIS, +- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +- * See the License for the specific language governing permissions and +- * limitations under the License. +- */ +-/* +- * IMPORTANT NOTE: This class has been included into Jasypt's source tree from +- * Apache Commons-Codec version 1.3 [see http://commons.apache.org/codec], +- * licensed under Apache License 2.0 [see http://www.apache.org/licenses/LICENSE-2.0]. +- * No modifications have been made to the code of this class except the package name. +- */ +- +-package org.jasypt.contrib.org.apache.commons.codec_1_3; +- +-/** +- *

Provides the highest level of abstraction for Encoders. +- * This is the sister interface of {@link Decoder}. Every implementation of +- * Encoder provides this common generic interface whic allows a user to pass a +- * generic Object to any Encoder implementation in the codec package.

+- * +- * @author Apache Software Foundation +- */ +-public interface Encoder { +- +- /** +- * Encodes an "Object" and returns the encoded content +- * as an Object. The Objects here may just be byte[] +- * or Strings depending on the implementation used. +- * +- * @param pObject An object ot encode +- * +- * @return An "encoded" Object +- * +- * @throws EncoderException an encoder exception is +- * thrown if the encoder experiences a failure +- * condition during the encoding process. +- */ +- Object encode(Object pObject) throws EncoderException; +-} +- +diff -Nru jasypt-1.9.0/src/main/java/org/jasypt/digest/StandardStringDigester.java jasypt-1.9.0-gil/src/main/java/org/jasypt/digest/StandardStringDigester.java +--- jasypt-1.9.0/src/main/java/org/jasypt/digest/StandardStringDigester.java 2010-10-25 22:52:23.000000000 +0200 ++++ jasypt-1.9.0-gil/src/main/java/org/jasypt/digest/StandardStringDigester.java 2013-07-08 13:33:03.259512325 +0200 +@@ -22,7 +22,7 @@ + import java.security.Provider; + + import org.jasypt.commons.CommonUtils; +-import org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64; ++import org.apache.commons.codec.binary.Base64; + import org.jasypt.digest.config.DigesterConfig; + import org.jasypt.digest.config.StringDigesterConfig; + import org.jasypt.exceptions.AlreadyInitializedException; +diff -Nru jasypt-1.9.0/src/main/java/org/jasypt/encryption/pbe/StandardPBEStringEncryptor.java jasypt-1.9.0-gil/src/main/java/org/jasypt/encryption/pbe/StandardPBEStringEncryptor.java +--- jasypt-1.9.0/src/main/java/org/jasypt/encryption/pbe/StandardPBEStringEncryptor.java 2011-12-08 03:15:37.000000000 +0100 ++++ jasypt-1.9.0-gil/src/main/java/org/jasypt/encryption/pbe/StandardPBEStringEncryptor.java 2013-07-08 13:33:03.232513771 +0200 +@@ -22,7 +22,7 @@ + import java.security.Provider; + + import org.jasypt.commons.CommonUtils; +-import org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64; ++import org.apache.commons.codec.binary.Base64; + import org.jasypt.encryption.pbe.config.PBEConfig; + import org.jasypt.encryption.pbe.config.StringPBEConfig; + import org.jasypt.exceptions.AlreadyInitializedException; +diff -Nru jasypt-1.9.0/src/test/java/org/jasypt/digest/StandardStringDigesterInvertedSaltTest.java jasypt-1.9.0-gil/src/test/java/org/jasypt/digest/StandardStringDigesterInvertedSaltTest.java +--- jasypt-1.9.0/src/test/java/org/jasypt/digest/StandardStringDigesterInvertedSaltTest.java 2010-10-21 01:29:54.000000000 +0200 ++++ jasypt-1.9.0-gil/src/test/java/org/jasypt/digest/StandardStringDigesterInvertedSaltTest.java 2013-07-08 13:33:03.208515056 +0200 +@@ -22,7 +22,7 @@ + + import junit.framework.TestCase; + +-import org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64; ++import org.apache.commons.codec.binary.Base64; + import org.jasypt.util.password.rfc2307.RFC2307SSHAPasswordEncryptor; + + public class StandardStringDigesterInvertedSaltTest extends TestCase { +diff -Nru jasypt-1.9.0/src/test/java/org/jasypt/digest/StandardStringDigesterTest.java jasypt-1.9.0-gil/src/test/java/org/jasypt/digest/StandardStringDigesterTest.java +--- jasypt-1.9.0/src/test/java/org/jasypt/digest/StandardStringDigesterTest.java 2010-10-16 20:38:04.000000000 +0200 ++++ jasypt-1.9.0-gil/src/test/java/org/jasypt/digest/StandardStringDigesterTest.java 2013-07-08 13:33:03.212514841 +0200 +@@ -25,7 +25,7 @@ + import junit.framework.TestCase; + + import org.bouncycastle.jce.provider.BouncyCastleProvider; +-import org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64; ++import org.apache.commons.codec.binary.Base64; + import org.jasypt.digest.config.EnvironmentStringDigesterConfig; + import org.jasypt.digest.config.SimpleDigesterConfig; + import org.jasypt.salt.FixedByteArraySaltGenerator; +diff -Nru jasypt-1.9.0/src/test/java/org/jasypt/util/password/BasicPasswordEncryptorTest.java jasypt-1.9.0-gil/src/test/java/org/jasypt/util/password/BasicPasswordEncryptorTest.java +--- jasypt-1.9.0/src/test/java/org/jasypt/util/password/BasicPasswordEncryptorTest.java 2010-10-16 20:38:04.000000000 +0200 ++++ jasypt-1.9.0-gil/src/test/java/org/jasypt/util/password/BasicPasswordEncryptorTest.java 2013-07-08 13:33:03.208515056 +0200 +@@ -22,7 +22,7 @@ + + import junit.framework.TestCase; + +-import org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64; ++import org.apache.commons.codec.binary.Base64; + + + public class BasicPasswordEncryptorTest extends TestCase { +diff -Nru jasypt-1.9.0/src/test/java/org/jasypt/util/password/ConfigurablePasswordEncryptorTest.java jasypt-1.9.0-gil/src/test/java/org/jasypt/util/password/ConfigurablePasswordEncryptorTest.java +--- jasypt-1.9.0/src/test/java/org/jasypt/util/password/ConfigurablePasswordEncryptorTest.java 2010-10-16 20:38:04.000000000 +0200 ++++ jasypt-1.9.0-gil/src/test/java/org/jasypt/util/password/ConfigurablePasswordEncryptorTest.java 2013-07-08 13:33:03.207515109 +0200 +@@ -25,7 +25,7 @@ + import junit.framework.TestCase; + + import org.bouncycastle.jce.provider.BouncyCastleProvider; +-import org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64; ++import org.apache.commons.codec.binary.Base64; + + public class ConfigurablePasswordEncryptorTest extends TestCase { + +diff -Nru jasypt-1.9.0/src/test/java/org/jasypt/util/password/StrongPasswordEncryptorTest.java jasypt-1.9.0-gil/src/test/java/org/jasypt/util/password/StrongPasswordEncryptorTest.java +--- jasypt-1.9.0/src/test/java/org/jasypt/util/password/StrongPasswordEncryptorTest.java 2010-10-16 20:38:04.000000000 +0200 ++++ jasypt-1.9.0-gil/src/test/java/org/jasypt/util/password/StrongPasswordEncryptorTest.java 2013-07-08 13:33:03.207515109 +0200 +@@ -22,7 +22,7 @@ + + import junit.framework.TestCase; + +-import org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64; ++import org.apache.commons.codec.binary.Base64; + + + public class StrongPasswordEncryptorTest extends TestCase { +diff -Nru jasypt-1.9.0/src/test/java/org/jasypt/util/text/BasicTextEncryptorTest.java jasypt-1.9.0-gil/src/test/java/org/jasypt/util/text/BasicTextEncryptorTest.java +--- jasypt-1.9.0/src/test/java/org/jasypt/util/text/BasicTextEncryptorTest.java 2010-10-16 20:38:04.000000000 +0200 ++++ jasypt-1.9.0-gil/src/test/java/org/jasypt/util/text/BasicTextEncryptorTest.java 2013-07-08 13:33:03.208515056 +0200 +@@ -22,7 +22,7 @@ + + import junit.framework.TestCase; + +-import org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64; ++import org.apache.commons.codec.binary.Base64; + + + public class BasicTextEncryptorTest extends TestCase { +diff -Nru jasypt-1.9.0/src/test/java/org/jasypt/util/text/StrongTextEncryptorTest.java jasypt-1.9.0-gil/src/test/java/org/jasypt/util/text/StrongTextEncryptorTest.java +--- jasypt-1.9.0/src/test/java/org/jasypt/util/text/StrongTextEncryptorTest.java 2010-10-16 20:38:04.000000000 +0200 ++++ jasypt-1.9.0-gil/src/test/java/org/jasypt/util/text/StrongTextEncryptorTest.java 2013-07-08 13:33:03.208515056 +0200 +@@ -22,7 +22,7 @@ + + import junit.framework.TestCase; + +-import org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64; ++import org.apache.commons.codec.binary.Base64; + + + public class StrongTextEncryptorTest extends TestCase { diff --git a/jasypt-1.9.3.tar.gz b/jasypt-1.9.3.tar.gz new file mode 100644 index 0000000..a4e99b3 Binary files /dev/null and b/jasypt-1.9.3.tar.gz differ diff --git a/jasypt.spec b/jasypt.spec new file mode 100644 index 0000000..346f0f7 --- /dev/null +++ b/jasypt.spec @@ -0,0 +1,69 @@ +Name: jasypt +Version: 1.9.3 +Release: 1 +Summary: Java Simplified Encryption +License: ASL 2.0 +Url: http://www.jasypt.org/ +Source0: https://github.com/jasypt/jasypt/archive/jasypt-1.9.3.tar.gz +Patch0: %{name}-1.9.0-use-system-commons-codec.patch +Patch1: %{name}-1.9.0-StandardStringDigester.patch +Patch2: %{name}-1.9.0-StandardPBEStringEncryptor.patch +BuildRequires: maven-local mvn(com.ibm.icu:icu4j) mvn(commons-codec:commons-codec) +BuildRequires: mvn(commons-lang:commons-lang) mvn(commons-logging:commons-logging) +BuildRequires: mvn(junit:junit) mvn(javax.servlet:javax.servlet-api) +BuildRequires: mvn(org.bouncycastle:bcprov-jdk16) +BuildArch: noarch +%description +Java library which enables encryption +in java apps with minimum effort. + +%package javadoc +Summary: Javadoc for %{name} +%description javadoc +This package contains javadoc for %{name}. + +%prep +%setup -q -n %{name}-%{name}-%{version} +rm -rf jasypt-* README.md LICENSE +mv ./jasypt/* ./ +%patch0 -p1 +%patch1 -p0 +%patch2 -p0 +%pom_remove_plugin :maven-gpg-plugin +%pom_remove_plugin :maven-site-plugin +%pom_remove_plugin :maven-source-plugin +%pom_remove_plugin :maven-assembly-plugin +%pom_xpath_remove "pom:plugin[pom:artifactId='maven-javadoc-plugin']/pom:executions" +%pom_xpath_remove "pom:plugin[pom:artifactId='maven-resources-plugin']/pom:configuration" +%pom_xpath_inject "pom:plugin[pom:artifactId='maven-resources-plugin']" " + + UTF-8 +" +%pom_xpath_remove "pom:plugin[pom:artifactId='maven-compiler-plugin']/pom:configuration" +%pom_xpath_inject "pom:plugin[pom:artifactId='maven-compiler-plugin']" " + + 1.6 + 1.6 + UTF-8 +" +%pom_change_dep bouncycastle:bcprov-jdk12 org.bouncycastle:bcprov-jdk16:1.46:test +%pom_add_dep commons-logging:commons-logging::test +%pom_change_dep javax.servlet: :javax.servlet-api:3.1.0 +%mvn_file :%{name} %{name} + +%build +%mvn_build -f + +%install +%mvn_install + +%files -f .mfiles +%doc ChangeLog.txt README.txt RELEASING.txt USAGE.txt +%license LICENSE.txt NOTICE.txt + +%files javadoc -f .mfiles-javadoc +%license LICENSE.txt NOTICE.txt + +%changelog +* Tue Aug 11 2020 chengzihan - 1.9.3-1 +- Package init diff --git a/jasypt.yaml b/jasypt.yaml new file mode 100644 index 0000000..61a5e7a --- /dev/null +++ b/jasypt.yaml @@ -0,0 +1,4 @@ +version_control: github +src_repo: jasypt/jasypt +tag_prefix: "jasypt-" +seperator: "."