Skip to content

Commit

Permalink
Java 1.1 updates
Browse files Browse the repository at this point in the history
  • Loading branch information
dghgit committed Apr 8, 2023
1 parent f5c33a4 commit 2b3b38b
Show file tree
Hide file tree
Showing 9 changed files with 599 additions and 15 deletions.
45 changes: 39 additions & 6 deletions build1-1
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ find $jdk11src -name "*.java" -exec scripts/useseccert.sh \{\} \;

rm org/bouncycastle/jce/provider/test/GOST3410KeyPairTest.java
rm org/bouncycastle/jce/provider/test/DRBGTest.java
rm org/bouncycastle/pqc/crypto/util/PQCOtherInfoGenerator.java
rm -rf org/bouncycastle/jcajce/BC*LoadStore*.java
rm -rf org/bouncycastle/jcajce/spec/DSTU4145*.java
rm -rf org/bouncycastle/math/ec/rfc8032/test
Expand All @@ -74,6 +75,7 @@ find $jdk11src -name "*.java" -exec scripts/useseccert.sh \{\} \;
rm -rf org/bouncycastle/pqc/jcajce/provider/LMS*
rm -rf org/bouncycastle/pqc/crypto/*/LMS*
rm org/bouncycastle/pqc/jcajce/spec/LMS*
rm org/bouncycastle/pqc/jcajce/*/Rainbow*
rm -rf org/bouncycastle/pqc/crypto/*/HSS*
rm -rf org/bouncycastle/pqc/math/ntru
rm -rf org/bouncycastle/pqc/crypto/ntru
Expand Down Expand Up @@ -120,6 +122,7 @@ find $jdk11src -name "*.java" -exec scripts/useseccert.sh \{\} \;
rm -rf org/bouncycastle/jce/provider/EC5*.java
rm -rf org/bouncycastle/jce/provider/JCEEC*.java
rm -rf org/bouncycastle/jcajce/provider/asymmetric/ec/EC5Util.java
rm -rf org/bouncycastle/jcajce/provider/asymmetric/ec/GMKeyPairGeneratorSpi.java
rm -rf org/bouncycastle/jcajce/provider/asymmetric/ecgost12
rm -rf org/bouncycastle/jcajce/provider/asymmetric/edec
rm -rf org/bouncycastle/jcajce/provider/asymmetric/EdEC.java
Expand All @@ -135,6 +138,7 @@ find $jdk11src -name "*.java" -exec scripts/useseccert.sh \{\} \;
rm -rf org/bouncycastle/jce/provider/test/EdECTest.java
rm -rf org/bouncycastle/jce/provider/test/SM2CipherTest.java
rm -rf org/bouncycastle/jce/provider/test/ChaCha20Poly1305Test.java
rm -rf org/bouncycastle/jce/provider/test/CertLocaleTest.java
rm -rf org/bouncycastle/jce/spec/ECNamedCurveSpec.java
rm -rf org/bouncycastle/util/encoders/test/*.java
rm -rf org/bouncycastle/x509/PKIXCertPathReviewer.java
Expand Down Expand Up @@ -184,7 +188,11 @@ find $jdk11src -name "*.java" -exec scripts/useseccert.sh \{\} \;
rm -r org/bouncycastle/crypto/test/cavp
rm -r org/bouncycastle/crypto/test/KDFFeedbackGeneratorTest.java
rm -r org/bouncycastle/crypto/test/KDFDoublePipelineIteratorGeneratorTest.java
rm -r org/bouncycastle/crypto/test/AsconTest.java
rm -r org/bouncycastle/crypto/test/Blake2xs*Test.java
rm -r org/bouncycastle/crypto/test/HPKETest*.java
rm -r org/bouncycastle/crypto/test/KDFCounterGeneratorTest.java
rm -r org/bouncycastle/crypto/test/Concatenat*Test.java
rm -r org/bouncycastle/crypto/test/ARIATest.java
rm -r org/bouncycastle/crypto/test/RadixCon*.java
rm -r org/bouncycastle/crypto/test/DigestConstraintsTest.java
Expand Down Expand Up @@ -225,6 +233,10 @@ find $jdk11src -name "*.java" -exec scripts/useseccert.sh \{\} \;
rm -rf org/bouncycastle/eac/test
rm -rf org/bouncycastle/cms/test
rm org/bouncycastle/cms/jcajce/JceAADStream.java
rm org/bouncycastle/cms/jcajce/JceCMSKEM*.java
rm org/bouncycastle/cms/jcajce/JceKEM*.java
rm org/bouncycastle/cert/cmp/test/PQC*.java
rm org/bouncycastle/cert/cmp/test/Elgamal*.java
rm org/bouncycastle/jcajce/provider/keystore/util/ParameterUtil.java
rm -rf org/bouncycastle/pqc/crypto/*/CMCEVectorTest*
rm -rf org/bouncycastle/pqc/crypto/*/FrodoVectorTest*
Expand All @@ -235,8 +247,13 @@ find $jdk11src -name "*.java" -exec scripts/useseccert.sh \{\} \;
rm -rf org/bouncycastle/pqc/crypto/test/HQC*
rm -rf org/bouncycastle/pqc/crypto/test/Falcon*
rm -rf org/bouncycastle/pqc/crypto/test/BIKE*
rm -rf org/bouncycastle/pqc/crypto/test/Rainbow*
rm -rf org/bouncycastle/pqc/crypto/test/GeMSS*
rm -rf org/bouncycastle/pqc/crypto/*/SIKE*
rm -rf org/bouncycastle/pqc/crypto/sike
rm -rf org/bouncycastle/pqc/legacy/crypto/sike
rm -rf org/bouncycastle/pqc/crypto/rainbow
rm -rf org/bouncycastle/pqc/crypto/gemss
rm -rf org/bouncycastle/asn1/test/MiscTest.java
rm org/bouncycastle/pkix/SubjectPublicKeyInfoChecker.java
rm -rf org/bouncycastle/pkix/jcajce/X509*
Expand All @@ -252,10 +269,22 @@ find $jdk11src -name "*.java" -exec scripts/useseccert.sh \{\} \;
rm -rf org/bouncycastle/its/test
rm -rf org/bouncycastle/est/test
rm -rf org/bouncycastle/dvcs/test
rm -rf org/bouncycastle/pqc/crypto/gemss
rm -rf org/bouncycastle/pqc/crypto/rainbow
rm org/bouncycastle/crypto/*/Xoo*.java
rm org/bouncycastle/crypto/*/Photon*.java
rm org/bouncycastle/crypto/*/ISAP*.java
rm org/bouncycastle/crypto/*/Sparkle*.java
rm org/bouncycastle/crypto/*/Elephant*.java
rm org/bouncycastle/crypto/*/Blake2sp*.java
rm org/bouncycastle/crypto/*/Blake2bp*.java
rm -rf org/bouncycastle/openssl/test/WriterTest.java
rm -rf org/bouncycastle/asn1/test/CMCFailInfoTest.java
rm -rf org/bouncycastle/asn1/test/CMCStatusTest.java
rm -rf org/bouncycastle/jce/provider/test/SM2SignatureTest.java
rm -f org/bouncycastle/jcajce/provider/drbg/EntropyGatherer.java
rm -f org/bouncycastle/jcajce/provider/drbg/EntropyDaemon.java
rm -f org/bouncycastle/test/PrintTestResult.java

sh ../../scripts/jdk1.2ed.sh > /dev/null 2>&1
sh ../../scripts/jdk1.1ed.sh > /dev/null 2>&1
Expand All @@ -275,7 +304,7 @@ then
mkdir $artifacts/lcrypto-jdk11-$base/src
tar cf - index.html LICENSE.html CONTRIBUTORS.html docs | (cd $artifacts/lcrypto-jdk11-$base && tar xf -)
(cd $jdk11src && tar cf - java org/bouncycastle/LICENSE.java \
org/bouncycastle/math org/bouncycastle/internal org/bouncycastle/crypto org/bouncycastle/util org/bouncycastle/asn1 org/bouncycastle/pqc/legacy org/bouncycastle/pqc/math org/bouncycastle/pqc/crypto org/bouncycastle/pqc/asn1 ) \
org/bouncycastle/test org/bouncycastle/math org/bouncycastle/internal org/bouncycastle/crypto org/bouncycastle/util org/bouncycastle/asn1 org/bouncycastle/pqc/legacy org/bouncycastle/pqc/math org/bouncycastle/pqc/crypto org/bouncycastle/pqc/asn1 ) \
| (cd $artifacts/lcrypto-jdk11-$base/src && tar xf -)
(
cd $artifacts/lcrypto-jdk11-$base;
Expand Down Expand Up @@ -380,8 +409,6 @@ javac -J-mx768m -d ../../../classes -classpath ../../../classes:../../../src:$JD
javac -J-mx768m -d ../../../classes -classpath ../../../classes:../../../src:$JDK11PATH/lib/classes.zip pqc/crypto/en*/*.java
javac -J-mx768m -d ../../../classes -classpath ../../../classes:../../../src:$JDK11PATH/lib/classes.zip */u*/*.java )

cp ../../../../core/src/test/resources/org/bouncycastle/crypto/test/*.txt classes/org/bouncycastle/crypto/test/

echo "lightweight regression test"
java -mx868m -classpath classes:$JDK11PATH/lib/classes.zip -Dbc.test.data.home=/home/dgh/bc/java/crypto/test/data org.bouncycastle.crypto.test.RegressionTest
java -classpath classes:$JDK11PATH/lib/classes.zip -Dbc.test.data.home=/home/dgh/bc/java/crypto/test/data org.bouncycastle.asn1.test.RegressionTest
Expand All @@ -397,7 +424,7 @@ then
mkdir $artifacts/jce-jdk11-$base/src
tar cf - index.html LICENSE.html CONTRIBUTORS.html docs | (cd $artifacts/jce-jdk11-$base; tar xf -)
(cd $jdk11src && tar cf - java javax org/bouncycastle/LICENSE.java \
org/bouncycastle/math org/bouncycastle/internal org/bouncycastle/crypto org/bouncycastle/util org/bouncycastle/asn1 org/bouncycastle/pqc/math org/bouncycastle/pqc org/bouncycastle/jce org/bouncycastle/jcajce org/bouncycastle/x509 ) \
org/bouncycastle/test org/bouncycastle/math org/bouncycastle/internal org/bouncycastle/crypto org/bouncycastle/util org/bouncycastle/asn1 org/bouncycastle/pqc/math org/bouncycastle/pqc org/bouncycastle/jce org/bouncycastle/jcajce org/bouncycastle/x509 ) \
| (cd $artifacts/jce-jdk11-$base/src && tar xf -)

(
Expand Down Expand Up @@ -540,7 +567,7 @@ then
mkdir $artifacts/bcpkix-jdk11-$base
mkdir $artifacts/bcpkix-jdk11-$base/src
tar cf - index.html LICENSE.html CONTRIBUTORS.html docs | (cd $artifacts/bcpkix-jdk11-$base; tar xf -)
((cd $jdk11src && tar cf - org/bouncycastle/cert org/bouncycastle/dvcs org/bouncycastle/pkcs org/bouncycastle/pkix org/bouncycastle/cms org/bouncycastle/eac org/bouncycastle/openssl org/bouncycastle/tsp org/bouncycastle/operator ) | (cd $artifacts/bcpkix-jdk11-$base/src && tar xf -))
((cd $jdk11src && tar cf - org/bouncycastle/test org/bouncycastle/cert org/bouncycastle/dvcs org/bouncycastle/pkcs org/bouncycastle/pkix org/bouncycastle/cms org/bouncycastle/eac org/bouncycastle/openssl org/bouncycastle/tsp org/bouncycastle/operator ) | (cd $artifacts/bcpkix-jdk11-$base/src && tar xf -))

(
cd $artifacts/bcpkix-jdk11-$base; mkdir classes; mkdir javadoc;
Expand Down Expand Up @@ -662,7 +689,7 @@ then
echo "compiling"


for i in src/org/bouncycastle/pqc/jcajce/provider/*/*.java src/org/bouncycastle/pqc/crypto/*/*.java src/org/bouncycastle/openpgp/test/*.java
for i in src/org/bouncycastle/pqc/jcajce/provider/*/*.java src/org/bouncycastle/pqc/crypto/*/*.java src/org/bouncycastle/bcpg/*.java src/org/bouncycastle/openpgp/*.java src/org/bouncycastle/openpgp/test/*.java
do
ed $i <<%%
g/.Override/d
Expand All @@ -675,6 +702,12 @@ q
g/\.\.\. /s//[]/
w
q
%

ed src/org/bouncycastle/bcpg/PaddingPacket.java <<%
g/private.*final.*;/s/final//
w
q
%

ed src/org/bouncycastle/bcpg/SignatureSubpacketInputStream.java <<%
Expand Down
38 changes: 31 additions & 7 deletions build1-2
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,9 @@ find $jdk12src -name "*.java" -exec scripts/usejcecert.sh \{\} \;
cd $jdk12src

rm -rf org/bouncycastle/math/ec/rfc8032/test
rm org/bouncycastle/test/PrintTestResult.java
rm org/bouncycastle/pqc/legacy/crypto/qtesla/QTeslaKeyEncodingTests.java
rm org/bouncycastle/pqc/crypto/util/PQCOtherInfoGenerator.java
rm -rf org/bouncycastle/crypto/test/ntru
rm -rf org/bouncycastle/pqc/legacy/math/ntru
rm -rf org/bouncycastle/pqc/math/test
Expand All @@ -74,7 +76,7 @@ find $jdk12src -name "*.java" -exec scripts/usejcecert.sh \{\} \;
rm -rf org/bouncycastle/pqc/crypto/test
rm -rf org/bouncycastle/pqc/crypto/xmss
rm -rf org/bouncycastle/pqc/crypto/lms
rm -rf org/bouncycastle/pqc/crypto/sike
rm -rf org/bouncycastle/pqc/legacy/crypto/sike
rm -rf org/bouncycastle/pqc/jcajce/provider/xmss
rm -rf org/bouncycastle/pqc/jcajce/provider/XMSS*
rm -rf org/bouncycastle/pqc/jcajce/provider/LMS*
Expand All @@ -88,17 +90,28 @@ find $jdk12src -name "*.java" -exec scripts/usejcecert.sh \{\} \;
rm -rf org/bouncycastle/pqc/crypto/*/FrodoVectorTest*
rm -rf org/bouncycastle/pqc/crypto/*/SABERVectorTest*
rm -rf org/bouncycastle/pqc/crypto/*/NTRUKAT*
rm -rf org/bouncycastle/pqc/crypto/*/Rainbow*
rm -rf org/bouncycastle/pqc/crypto/*/GeMSS*
rm -rf org/bouncycastle/pqc/legacy/crypto/test/*
rm org/bouncycastle/pqc/jcajce/spec/LMS*
rm org/bouncycastle/pqc/jcajce/*/Rainbow*
rm -rf org/bouncycastle/crypto/constraints/Logging*
rm -rf org/bouncycastle/crypto/*/test
rm -rf org/bouncycastle/crypto/*/IndexGenerator*
rm -rf org/bouncycastle/crypto/test/SimpleTestTest.java
rm -rf org/bouncycastle/util/utiltest
rm -rf org/bouncycastle/mail
rm -rf org/bouncycastle/mime
rm org/bouncycastle/crypto/*/Xoo*.java
rm org/bouncycastle/crypto/*/Photon*.java
rm org/bouncycastle/crypto/*/ISAP*.java
rm org/bouncycastle/crypto/*/Sparkle*.java
rm org/bouncycastle/crypto/*/Elephant*.java
rm org/bouncycastle/crypto/*/Blake2sp*.java
rm org/bouncycastle/crypto/*/Blake2bp*.java
rm org/bouncycastle/pkix/test/CheckerTest.java
rm org/bouncycastle/crypto/test/RadixConverterTest.java
rm org/bouncycastle/crypto/test/HPKETestVector*.java
rm org/bouncycastle/pkix/jcajce/Revocation*.java
rm org/bouncycastle/pkix/jcajce/X509RevocationChecker.java
rm org/bouncycastle/pkix/jcajce/RFC3280*.java
Expand All @@ -122,7 +135,11 @@ find $jdk12src -name "*.java" -exec scripts/usejcecert.sh \{\} \;
rm -rf org/bouncycastle/jce/provider/JCEEC5*.java
rm -rf org/bouncycastle/jce/provider/EC5*.java
rm -rf org/bouncycastle/jce/provider/JCEEC*.java
rm -f org/bouncycastle/jcajce/provider/drbg/EntropyGatherer.java
rm -f org/bouncycastle/jcajce/provider/drbg/EntropyDaemon.java
rm -f org/bouncycastle/jce/provider/test/CertLocaleTest.java
rm -rf org/bouncycastle/jcajce/provider/asymmetric/ec/EC5Util.java
rm -rf org/bouncycastle/jcajce/provider/asymmetric/ec/GMKeyPairGeneratorSpi.java
rm -rf org/bouncycastle/jcajce/provider/asymmetric/ecgost12
rm -rf org/bouncycastle/jcajce/provider/test
rm -rf org/bouncycastle/math/ec/rfc7748/test
Expand Down Expand Up @@ -165,6 +182,7 @@ find $jdk12src -name "*.java" -exec scripts/usejcecert.sh \{\} \;
rm -rf org/bouncycastle/jce/provider/JDKPKCS12StoreParameter.java
rm -rf org/bouncycastle/jcajce/BC*LoadStore*.java
rm -rf org/bouncycastle/jcajce/spec/DSTU4145*.java
rm -rf org/bouncycastle/jcajce/spec/Rainbow*.java
rm -rf org/bouncycastle/jcajce/provider/config/PKCS12StoreParameter.java
rm -rf org/bouncycastle/jcajce/provider/test/PrivateConstructorTest.java
rm -rf org/bouncycastle/jcajce/provider/test/ECAlgorithmParametersTest.java
Expand All @@ -176,6 +194,8 @@ find $jdk12src -name "*.java" -exec scripts/usejcecert.sh \{\} \;
rm org/bouncycastle/asn1/test/ParseTest.java
rm org/bouncycastle/pkix/test/RevocationTest.java
rm org/bouncycastle/pkix/test/TestUtil.java
rm org/bouncycastle/cert/cmp/test/PQC*.java
rm org/bouncycastle/cert/cmp/test/Elgamal*.java
rm org/bouncycastle/cert/ocsp/test/PKIXRevocationTest.java
rm -r org/bouncycastle/crypto/test/BigSkippingCipherTest.java
rm -rf org/bouncycastle/openssl/test
Expand All @@ -186,7 +206,13 @@ find $jdk12src -name "*.java" -exec scripts/usejcecert.sh \{\} \;
rm -rf org/bouncycastle/pqc/crypto/test/QT*.java
rm -rf org/bouncycastle/pqc/crypto/test/SphincsPlusTest.java
rm -rf org/bouncycastle/pqc/crypto/qtesla/QT*Tests.java
rm -rf org/bouncycastle/pqc/crypto/rainbow/*
rm -rf org/bouncycastle/pqc/crypto/gemss/*
rm -rf org/bouncycastle/pqc/jcajce/provider/test
rm -rf org/bouncycastle/pqc/jcajce/provider/rainbow
rm -rf org/bouncycastle/pqc/jcajce/provider/gemss
rm -rf org/bouncycastle/pqc/jcajce/provider/Rain*
rm -rf org/bouncycastle/pqc/jcajce/provider/GeM*
rm -r org/bouncycastle/crypto/test/speedy
rm -r org/bouncycastle/crypto/test/cavp
rm -r org/bouncycastle/crypto/test/KDFFeedbackGeneratorTest.java
Expand Down Expand Up @@ -220,7 +246,7 @@ then

tar cf - index.html LICENSE.html CONTRIBUTORS.html docs | (cd $artifacts/lcrypto-jdk12-$base && tar xf -)
((cd $jdk12src && tar cf - java org/bouncycastle/LICENSE.java \
org/bouncycastle/math org/bouncycastle/internal org/bouncycastle/crypto org/bouncycastle/util org/bouncycastle/asn1 org/bouncycastle/pqc/legacy org/bouncycastle/pqc/math org/bouncycastle/pqc/crypto org/bouncycastle/pqc/asn1 ) | (cd $artifacts/lcrypto-jdk12-$base/src && tar xf -))
org/bouncycastle/test org/bouncycastle/math org/bouncycastle/internal org/bouncycastle/crypto org/bouncycastle/util org/bouncycastle/asn1 org/bouncycastle/pqc/legacy org/bouncycastle/pqc/math org/bouncycastle/pqc/crypto org/bouncycastle/pqc/asn1 ) | (cd $artifacts/lcrypto-jdk12-$base/src && tar xf -))
(
cd $artifacts/lcrypto-jdk12-$base;

Expand Down Expand Up @@ -290,8 +316,6 @@ then

echo "lightweight regression test"

cp ../../../../core/src/test/resources/org/bouncycastle/crypto/test/*.txt src/org/bouncycastle/crypto/test
cp ../../../../core/src/test/resources/org/bouncycastle/crypto/test/*.txt classes/org/bouncycastle/crypto/test
cp ../../../../core/src/test/resources/org/bouncycastle/asn1/test/*.data classes/org/bouncycastle/asn1/test

java -classpath classes -Dbc.test.data.home=../core/src/test/data org.bouncycastle.crypto.test.RegressionTest
Expand All @@ -307,7 +331,7 @@ then
mkdir $artifacts/jce-jdk12-$base
mkdir $artifacts/jce-jdk12-$base/src
tar cf - index.html LICENSE.html CONTRIBUTORS.html docs | (cd $artifacts/jce-jdk12-$base; tar xf -)
((cd $jdk12src && tar cf - java javax org/bouncycastle/LICENSE.java org/bouncycastle/crypto org/bouncycastle/internal org/bouncycastle/math org/bouncycastle/pqc org/bouncycastle/asn1 org/bouncycastle/jcajce org/bouncycastle/util org/bouncycastle/jce org/bouncycastle/x509 ) | (cd $artifacts/jce-jdk12-$base/src && tar xf -))
((cd $jdk12src && tar cf - java javax org/bouncycastle/test org/bouncycastle/LICENSE.java org/bouncycastle/crypto org/bouncycastle/internal org/bouncycastle/math org/bouncycastle/pqc org/bouncycastle/asn1 org/bouncycastle/jcajce org/bouncycastle/util org/bouncycastle/jce org/bouncycastle/x509 ) | (cd $artifacts/jce-jdk12-$base/src && tar xf -))

(
cd $artifacts/jce-jdk12-$base; mkdir classes; mkdir javadoc;
Expand Down Expand Up @@ -430,7 +454,7 @@ then
mkdir $artifacts/bcpkix-jdk12-$base
mkdir $artifacts/bcpkix-jdk12-$base/src
tar cf - index.html LICENSE.html CONTRIBUTORS.html docs | (cd $artifacts/bcpkix-jdk12-$base; tar xf -)
((cd $jdk12src && tar cf - org/bouncycastle/cert org/bouncycastle/cms org/bouncycastle/pkcs org/bouncycastle/pkix org/bouncycastle/openssl org/bouncycastle/operator org/bouncycastle/mozilla org/bouncycastle/tsp org/bouncycastle/voms ) | (cd $artifacts/bcpkix-jdk12-$base/src && tar xf -))
((cd $jdk12src && tar cf - org/bouncycastle/test org/bouncycastle/cert org/bouncycastle/cms org/bouncycastle/pkcs org/bouncycastle/pkix org/bouncycastle/openssl org/bouncycastle/operator org/bouncycastle/mozilla org/bouncycastle/tsp org/bouncycastle/voms ) | (cd $artifacts/bcpkix-jdk12-$base/src && tar xf -))
(
cd $artifacts/bcpkix-jdk12-$base; mkdir classes; mkdir javadoc;

Expand Down Expand Up @@ -510,7 +534,7 @@ then
mkdir $artifacts/bcpg-jdk12-$base
mkdir $artifacts/bcpg-jdk12-$base/src
tar cf - index.html LICENSE.html CONTRIBUTORS.html docs | (cd $artifacts/bcpg-jdk12-$base; tar xf -)
((cd $jdk12src && tar cf - org/bouncycastle/apache org/bouncycastle/openpgp org/bouncycastle/bcpg org/bouncycastle/gpg) | (cd $artifacts/bcpg-jdk12-$base/src && tar xf -))
((cd $jdk12src && tar cf - org/bouncycastle/test org/bouncycastle/apache org/bouncycastle/openpgp org/bouncycastle/bcpg org/bouncycastle/gpg) | (cd $artifacts/bcpg-jdk12-$base/src && tar xf -))
(
cd $artifacts/bcpg-jdk12-$base; mkdir classes; mkdir javadoc;

Expand Down
78 changes: 78 additions & 0 deletions core/src/main/jdk1.1/org/bouncycastle/asn1/LocaleUtil.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
package org.bouncycastle.asn1;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;

import org.bouncycastle.util.Longs;

/**
* ASN.1 uses an EN locale for its internal formatting. This class finds the nearest equivalent in the
* current JVM to ensure date formats are always respected.
*/
public class LocaleUtil
{
private static final Map localeCache = new HashMap();

public static Locale EN_Locale = forEN();

private static Locale forEN()
{
if ("en".equalsIgnoreCase(Locale.getDefault().getLanguage()))
{
return Locale.getDefault();
}

/*
Locale[] locales = Locale.getAvailableLocales();
for (int i = 0; i != locales.length; i++)
{
if ("en".equalsIgnoreCase(locales[i].getLanguage()))
{
return locales[i];
}
}
*/
return Locale.getDefault();
}

static Date epochAdjust(Date date)
throws ParseException
{
Locale locale = Locale.getDefault();
if (locale == null)
{
return date;
}

synchronized (localeCache)
{
Long adj = (Long)localeCache.get(locale);

if (adj == null)
{
SimpleDateFormat dateF = new SimpleDateFormat("yyyyMMddHHmmssz");
long v = dateF.parse("19700101000000GMT+00:00").getTime();

adj = longValueOf(v);

localeCache.put(locale, adj);
}

if (adj.longValue() != 0L)
{
return new Date(date.getTime() - adj.longValue());
}

return date;
}
}

private static Long longValueOf(long v)
{
return Longs.valueOf(v);
}
}
Loading

0 comments on commit 2b3b38b

Please sign in to comment.