Skip to content

Commit 1d47f5c

Browse files
author
Dominik Schürmann
committed
Merge tag 'r1rv56' of https://github.com/bcgit/bc-java
Release 1.56 tag
2 parents 15de34b + 996763c commit 1d47f5c

File tree

958 files changed

+67806
-8132
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

958 files changed

+67806
-8132
lines changed

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,8 @@
99
bin/
1010
build/
1111
.settings/
12+
13+
pg/*.asc
14+
pg/*.bak
15+
pg/*.bpg
16+
pg/*.txt

CONTRIBUTORS.html

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,19 @@
66
<p>
77
Donors
88
<p>
9+
The following people and organisations donated financially to help with the release of 1.56:
10+
<br />
11+
DidiSoft, Cotiviti, Atanas Krachev, Encryptomatic LLC, LogicalAnswersIncSupporter
12+
</p>
13+
<p>
14+
We also wish to acknowledge financial support from the <a href="https://www.coreinfrastructure.org/">Core Infrastructure Initiative</a> towards developing the TLS API and JSSE provider.
15+
</p>
16+
<p>
17+
The following people and organisations donated financially to help with the release of 1.55:
18+
<br />
19+
Digistamp, RAM NAG
20+
</p>
21+
<p>
922
The following people and organisations donated financially to help with the release of 1.54:
1023
<br />
1124
Lobster GmbH
@@ -27,7 +40,7 @@
2740
<p>
2841
Organisations
2942
<ul>
30-
<li>Holders of <a href="http://www.cryptoworkshop.com">Crypto Workshop Support Contracts</a>. Currently 100 hours of consulting time left over from these has been contributed back to working on the Bouncy Castle APIs. You know who you are!</li>
43+
<li>Holders of <a href="http://www.cryptoworkshop.com">Crypto Workshop Support Contracts</a>. Without the consulting time left over from support contracts being contributed back to working on the Bouncy Castle APIs, progress would be impossible. You know who you are!</li>
3144
<li><a href="http://www.atlassian.com/">Atlassian Software Systems</a> donation of Confluence and JIRA licences.</li>
3245
<li><a href="http://www.grierforensics.com/">Grier Forensics</a>, for collaborating in the development of the S/MIME Toolkit and DANE SMIMEA functionality.</li>
3346
<li>TU-Darmstadt, Computer Science Department, RBG, for the initial
@@ -347,7 +360,7 @@
347360
<li>Samuel Lid&eacute;n Borell &lt;samuel&#064primekey.se&gt; patch to add DSTU-4145 to DefaultSignatureAlgorithmFinder</li>
348361
<li>Sergio Demian Lerner &lt;sergiolerner&#064certimix.com&gt; pointing out isInfinity issue in ECDSASigner signature verification.</li>
349362
<li>Tim Whittington &lt;Tim.Whittington&#064orionhealth.com&gt; patch to remove extra init call in CMac, additional of Memoable interface for Digest classes, initial implementation of GMAC, further correctness tests for IV and reset processing in OCB, CCM, and block cipher reset. Initial implementation of Skein, XSalsa20, ChaCha, reduced round Salsa20, Threefish, and the Poly1305 MAC. Documentation updates. Added OCB support to Noekeon and CAST6 in the provider, exception testing for CTS, optimisations for CCM, provider support for AAD cipher methods, safe CipherInput/OutputStream implementations for use with AAD and subsequent bug fixes, cleanup after IDEA patent expiry, work on JCE SipHash support, optimisations for AESFastEngine, further work on EncodableDigest for SHA-2 digests, contributions to BCrypt/OpenBSDBCrypt, PGP API documentation and code quality work.</li>
350-
<li>Marcus Lundblad &lt;marcus.lundblad&#064primekey.se&gt; patch for working arnound JDK jarsigner TSP bug, optional setting of IssuerSerial in TimeStampTokenGenerator.</li>
363+
<li>Marcus Lundblad &lt;marcus.lundblad&#064primekey.se&gt; patch for working arnound JDK jarsigner TSP bug, optional setting of IssuerSerial in TimeStampTokenGenerator, additional extensions enhancement for time stamp token generation.</li>
351364
<li>Andrey Zhozhin &lt;zhozhin&#064xrm.ru&gt; patch for override of TSP SignerInfo attributes.</li>
352365
<li>Sergey Tiunov &lt;t5555d&#064gmail.com&gt; initial cut of DVCS classes.</li>
353366
<li>Damian Kolasa &lt;fatfredyy&#064gmail.com&gt; ASN1Sequence patch for class cast issue in X9Curve.</li>
@@ -393,20 +406,30 @@
393406
<li>Thomas Belot&lt;thomas.belot+BC&#064gmail.com&gt; initial CertPathLoopTest for demonstrating stack overflow issue.</li>
394407
<li>Rich DiCroce&lt;https://github.com/rdicroce&gt; Initial implementation of server-side TLS-SRP support. TLS API extension to support non-blocking usage.</li>
395408
<li>Bj&ouml;rn Kautler&lt;https://github.com/Vampire&gt; Refinements to cert path validation (authority key addition, certificate order preservation).</li>
396-
<li>Dominik Sch&uuml;rmann&lt;https://github.com/dschuermann&gt; method for returning signatures/verifications without user IDs on PGPPublicKey, method for exposing S2K in PGPSecretKey, constants for GNU protection modes in S2K classes.</li>
409+
<li>Dominik Sch&uuml;rmann&lt;https://github.com/dschuermann&gt; method for returning signatures/verifications without user IDs on PGPPublicKey, method for exposing S2K in PGPSecretKey, constants for GNU protection modes in S2K classes, optional version header for armored output.</li>
397410
<li>Michael &lt;MSKnete&#064web.de&gt; initial fix for bitStrength issue for OpenPGP EC keys.</li>
398411
<li>Tobias Wagner &lt;tobias.wagner&#064n-design.de&gt; Fix SecureRandom handling in BcAsymmetricKeyWrapper [#BJA-536].</li>
399-
<li>Sergio Giro &lt;sgiro&#064google.com&gt; Fixed adding of additional stores from CRL distribution point [#BJA-537]. Fixed missing null check for CRL certificate issuer [#BJA-538].</li>
412+
<li>Sergio Giro &lt;sgiro&#064google.com&gt; Fixed adding of additional stores from CRL distribution point [#BJA-537]. Fixed missing null check for CRL certificate issuer [#BJA-538], removal of risky zeroisation code in PBE.java, check for salt in PBEKeys that require it.</li>
400413
<li>bschuette&lt;https://github.com/bschuette&gt; Fixed typo in DefaultSignatureAlgorithmIdentifierFinder, additional methods on CMSSignedDataParser.</li>
401414
<li>Leonard Dallot&lt;https://github.com/dallotTazTag&gt; Fix to S2K usage of none on changing passwords on keys without passwords originally.</li>
402415
<li>Jan Willem Janssen &lt;j.w.janssen+bouncycastle&#064lxtreme.nl&gt; Support for DSAParameters in lightweight SubjectPublicKeyInfoFactory, initial content signer verifier for BC lightweight EC.</li>
403416
<li>Sebastian Oerding &lt;[email protected]&gt; Fixes to toString() in x509.CertificatePolicies.</li>
404417
<li>Kai Kramer &lt;kai.kramer&#064gmail.com&gt; Code to deal with orphaned chain certificates in the PKCS#12 KeyStore.</li>
405418
<li>Benoit Charles &lt;benoit.charles&#064opentrust.com&gt; Fix for IES data length check on decryption.</li>
406-
<li>Niko &lt;nfink95@gmail.com&gt; fix to cast issue in getOutputSize() for ECIES.</li>
419+
<li>Niko &lt;nfink95&#064gmail.com&gt; fix to cast issue in getOutputSize() for ECIES.</li>
407420
<li>akwizgran&lt;https://github.com/akwizgran&gt; Fixed clone of key in Blake2bDgest copy constructor, blake2b reset issue for varient keys.</li>
408421
<li>Matthias Edelhoff &lt;Matthias.Edelhoff&#064cryptovision.com&gt; BasicConstraintsValidation pathlen fix in PKIX certpath classes.</li>
409422
<li>Lukasz Deputat &lt;lukasz.deputat&#064gmail.com&gt; Fixed bugs in TlsUtils read methods [#BJA-592].</li>
423+
<li>Justin Ludwig &lt;https://github.com/justinludwig&gt; Iterator fix for PGPObjectFactory to handle stream packets at start of iterated data.</li>
424+
<li>Andr&eacute; Berenguel &lt;https://github.com/aberenguel&gt; Fix to include ECNamedCurveSpec in EC AlgorithmParameterSpi</li>
425+
<li>Slawomir Jaranowski&lt;https://github.com/slawekjaranowski&gt; Patch to make cipher/hash/signature name methods in PGP internal API public.</li>
426+
<li>Andrey Vasilyev&lt;https://github.com/andrey-vasilyev&gt; Initial implementation of GOST R 34.11-2012.</li>
427+
<li>William Glanton &lt;wglanton77&#064gmail.com&gt; Fixed bug in Poly1305 [#BJA-620].</li>
428+
<li>jdvorak001&lt;https://github.com/jdvorak001&gt; Speed improvements for ASN.1 ObjectIdentifier cache.</li>
429+
<li>Joseph Naegele &lt;[email protected]&gt; Patch for handling multiple certificates in a DANE SMIMEA entry.</li>
430+
<li>Andrew Bonventre&lt;https://github.com/andybons&gt; NullPointer patch for WNafUtil.</li>
431+
<li>The Google Security Team (Project Wycheproof) &lt;https://github.com/google/wycheproof&gt; defect analysis and additional test cases for the provider.</li>
432+
<li>The Intel Security Team &lt;&gt; analysis detecting the issue with AESFastEngine (CVE-2016-1000339), additional suggestions for improvement to hardening of AESEngine.</li>
410433
</ul>
411434
</body>
412435
</html>

LICENSE.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<html>
22
<body bgcolor=#ffffff>
33

4-
Copyright (c) 2000-2015 The Legion of the Bouncy Castle Inc. (http://www.bouncycastle.org)
4+
Copyright (c) 2000-2016 The Legion of the Bouncy Castle Inc. (http://www.bouncycastle.org)
55
<p>
66
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
77
and associated documentation files (the "Software"), to deal in the Software without restriction,

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ The **mail** module provides an S/MIME API built on top of CMS.
2525

2626
The **pg** module is the home for code used to support OpenPGP.
2727

28+
The **tls** module is the home for code used to a general TLS API and JSSE Provider (as at 1.56 this should be considered a beta).
29+
2830
The build scripts that come with the full distribution allow creation of the different releases by using the different source trees while excluding classes that are not appropriate and copying in the required compatibility classes from the directories containing compatibility classes appropriate for the distribution.
2931

3032
If you want to try create a build for yourself, using your own environment, the best way to do it is to start with the build for the distribution you are interested in, make sure that builds, and then modify your build scripts to do the required exclusions and file copies for your setup, otherwise you are likely to get class not found exceptions. The final caveat to this is that as the j2me distribution includes some compatibility classes starting in the java package, you need to use an obfuscator to change the package names before attempting to import a midlet using the BC API.
@@ -71,4 +73,4 @@ For bug reporting/requests you can report issues here on github, via feedback-cr
7173

7274
## Finally
7375

74-
Enjoy!
76+
Enjoy!

ant/bc+-build.xml

Lines changed: 83 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,12 @@
4343
<property name="pg.target.docs.dir" value="${pg.target.dir}/javadoc" />
4444
<property name="pg.target.src.zip" value="${pg.target.dir}/src.zip" />
4545

46+
<property name="tls.target" value="bctls-${target.name}" />
47+
<property name="tls.target.dir" value="${artifacts.dir}/${tls.target}" />
48+
<property name="tls.target.src.dir" value="${tls.target.dir}/src" />
49+
<property name="tls.target.docs.dir" value="${tls.target.dir}/javadoc" />
50+
<property name="tls.target.src.zip" value="${tls.target.dir}/src.zip" />
51+
4652
<property name="lcrypto.target" value="lcrypto-${target.name}" />
4753
<property name="lcrypto.target.dir" value="${artifacts.dir}/${lcrypto.target}" />
4854
<property name="lcrypto.target.src.dir" value="${lcrypto.target.dir}/src" />
@@ -100,7 +106,7 @@
100106
<javac source="${bc.javac.source}" target="${bc.javac.target}"
101107
srcdir="${artifacts.dir}/@{target}/src"
102108
destdir="${build.dir}/@{target}/classes"
103-
debug="${release.debug}">
109+
debug="${release.debug}" fork="true">
104110
<classpath>
105111
<path refid="project.classpath" />
106112
<fileset dir="${artifacts.jars.dir}">
@@ -320,6 +326,8 @@
320326
<exclude name="org/bouncycastle/tsp/**" />
321327
<exclude name="org/bouncycastle/voms/**" />
322328
<exclude name="org/bouncycastle/apache/**" />
329+
<exclude name="org/bouncycastle/tls/**" />
330+
<exclude name="org/bouncycastle/jsse/**" />
323331
</fileset>
324332
<fileset dir="${src.dir}">
325333
<include name="org/bouncycastle/x509/CertPathReviewerMessages*.properties" />
@@ -430,6 +438,8 @@
430438
<exclude name="org/bouncycastle/mozilla/**" />
431439
<exclude name="org/bouncycastle/bcpg/**" />
432440
<exclude name="org/bouncycastle/voms/**" />
441+
<exclude name="org/bouncycastle/tls/**" />
442+
<exclude name="org/bouncycastle/jsse/**" />
433443
<exclude name="org/apache/**/*.java" />
434444
</fileset>
435445
<fileset dir="${src.dir}" includes="org/bouncycastle/util/test/*.java" />
@@ -530,6 +540,50 @@
530540

531541
</target>
532542

543+
<!--
544+
TLS
545+
-->
546+
<target name="build-tls" depends="initMacros">
547+
<mkdir dir="${tls.target.dir}" />
548+
549+
<copyStandardFiles toDir="${tls.target.dir}" />
550+
551+
<copy todir="${tls.target.src.dir}">
552+
<fileset dir="${src.dir}">
553+
<exclude name="**/*Test.java" />
554+
<exclude name="**/*Tests.java" />
555+
<exclude name="**/test/*.java" />
556+
<include name="org/bouncycastle/tls/**/*.java" />
557+
<include name="org/bouncycastle/tls/**/*.properties" />
558+
<include name="org/bouncycastle/jsse/**/*.java" />
559+
<include name="org/bouncycastle/jsse/**/*.properties" />
560+
</fileset>
561+
</copy>
562+
563+
<compile target="${tls.target}">
564+
<jarFileSet>
565+
<include name="**/*.class"/>
566+
<include name="**/*.properties"/>
567+
</jarFileSet>
568+
<manifestElements>
569+
<attribute name="Manifest-Version" value="1.0" />
570+
<attribute name="Extension-Name" value="org.bouncycastle.bctls" />
571+
<attribute name="Specification-Vendor" value="BouncyCastle.org" />
572+
<attribute name="Specification-Version" value="1.1" />
573+
<attribute name="Implementation-Vendor-Id" value="org.bouncycastle" />
574+
<attribute name="Implementation-Vendor" value="BouncyCastle.org" />
575+
<attribute name="Implementation-Version" value="${release.version}.0" />
576+
<attribute name="Application-Name" value="Bouncy Castle TLS API and Provider" />
577+
<attribute name="Trusted-Library" value="true" />
578+
<attribute name="Permissions" value="all-permissions" />
579+
<attribute name="Codebase" value="*" />
580+
<attribute name="Application-Library-Allowable-Codebase" value="*" />
581+
<attribute name="Caller-Allowable-Codebase" value="*" />
582+
</manifestElements>
583+
</compile>
584+
585+
</target>
586+
533587
<target name="build-pkix" depends="initMacros">
534588
<mkdir dir="${pkix.target.dir}" />
535589

@@ -863,6 +917,34 @@
863917
</copy>
864918
</target>
865919

920+
<!--
921+
TLS JavaDoc
922+
-->
923+
<target name="javadoc-tls" depends="initMacros">
924+
<copy todir="${tls.target.src.dir}">
925+
<fileset dir="${src.dir}">
926+
<include name="org/bouncycastle/jsse/**/test/*.java" />
927+
<include name="org/bouncycastle/jsse/**/*.html" />
928+
<include name="org/bouncycastle/tls/**/test/*.java" />
929+
<include name="org/bouncycastle/tls/**/*.html" />
930+
</fileset>
931+
</copy>
932+
933+
<compile-doc srcDir="${tls.target.src.dir}" docsDir="${artifacts.docs.dir}/bctls">
934+
<docElements>
935+
<package name="org.bouncycastle.tls.*" />
936+
<package name="org.bouncycastle.jsse.*" />
937+
<group title="TLS/DTLS Packages" packages="org.bouncycastle.tls,org.bouncycastle.tls.crypto*" />
938+
<group title="JSSE Provider Packages" packages="org.bouncycastle.jsse.provider" />
939+
<group title="TLS/DTLS/JSSE Provider Test and Example Packages" packages="org.bouncycastle.jsse.provider.test*,org.bouncycastle.tls.test*" />
940+
</docElements>
941+
</compile-doc>
942+
943+
<copy todir="${tls.target.docs.dir}">
944+
<fileset dir="${artifacts.docs.dir}/bctls" />
945+
</copy>
946+
</target>
947+
866948
<!--
867949
PKIX JavaDoc
868950
-->

ant/jdk14.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
<exclude name="**/ValidateSignedMail.java"/>
3232
</fileset>
3333
<fileset dir="prov/src/main/java">
34-
<exclude name="**/ec/ECUtils.java" />
3534
<exclude name="**/ECPointUtil.java" />
3635
<exclude name="**/ECNamedCurveSpec.java" />
3736
<exclude name="**/BCEC*.java" />

ant/jdk15+.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@
3737
<fileset dir="prov/src/test/java" includes="**/*.java" />
3838
<fileset dir="prov/src/test/resources" includes="**/*.*" />
3939

40+
<fileset dir="tls/src/main/java" includes="**/*.java" />
41+
<fileset dir="tls/src/main/javadoc" includes="**/*.html" />
42+
<fileset dir="tls/src/test/java" includes="**/*.java" />
43+
<fileset dir="tls/src/test/resources" includes="**/*.*" />
44+
4045
<fileset dir="pkix/src/main/java" includes="**/*.java" />
4146
<fileset dir="pkix/src/main/javadoc" includes="**/*.html" />
4247
<fileset dir="pkix/src/main/java" includes="**/*.properties" />
@@ -86,9 +91,11 @@
8691
</target>
8792

8893
<target name="build" depends="init">
94+
<ant antfile="ant/bc+-build.xml" dir="." target="build-tls" />
8995
<ant antfile="ant/bc+-build.xml" dir="." />
9096
<ant antfile="ant/bc+-build.xml" dir="." target="javadoc-lw" />
9197
<ant antfile="ant/bc+-build.xml" dir="." target="javadoc-libraries" />
98+
<ant antfile="ant/bc+-build.xml" dir="." target="javadoc-tls" />
9299
</target>
93100

94101
<target name="build-lw" depends="init">

bc-build.properties

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11

2-
release.suffix: 155b02
3-
release.name: 1.55b02
4-
release.version: 1.55.0.2
5-
release.debug: true
2+
release.suffix: 156
3+
release.name: 1.56
4+
release.version: 1.56.0
5+
release.debug: false
66

77
mail.jar.home: /opt/javamail/mail.jar
88
activation.jar.home: /opt/jaf/activation.jar

build.gradle

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ subprojects {
4141

4242
sourceCompatibility = 1.5
4343
targetCompatibility = 1.5
44-
version = '1.52'
44+
version = '1.56-SNAPSHOT'
4545

4646
test {
4747
systemProperty 'bc.test.data.home', bcTestDataHome
@@ -52,29 +52,32 @@ subprojects {
5252
}
5353
}
5454

55-
test.dependsOn([':core:test', ':prov:test', ':pkix:test', ':mail:test', 'pg:test'])
55+
test.dependsOn([':core:test', ':prov:test', ':tls:test', ':pkix:test', ':mail:test', 'pg:test'])
5656

5757
cobertura {
5858
coverageDirs = [
5959
"${rootProject.projectDir}/core/build/classes/main",
6060
"${rootProject.projectDir}/mail/build/classes/main",
6161
"${rootProject.projectDir}/pg/build/classes/main",
6262
"${rootProject.projectDir}/pkix/build/classes/main",
63-
"${rootProject.projectDir}/prov/build/classes/main"
63+
"${rootProject.projectDir}/prov/build/classes/main",
64+
"${rootProject.projectDir}/tls/build/classes/main",
6465
]
6566
coverageSourceDirs = [
6667
"${rootProject.projectDir}/core/src/main/java",
6768
"${rootProject.projectDir}/mail/src/main/java",
6869
"${rootProject.projectDir}/pg/src/main/java",
6970
"${rootProject.projectDir}/pkix/src/main/java",
7071
"${rootProject.projectDir}/prov/src/main/java",
72+
"${rootProject.projectDir}/tls/src/main/java",
7173
]
7274
coverageMergeDatafiles = [
7375
file("${rootProject.projectDir}/core/build/cobertura/cobertura.ser"),
7476
file("${rootProject.projectDir}/mail/build/cobertura/cobertura.ser"),
7577
file("${rootProject.projectDir}/pg/build/cobertura/cobertura.ser"),
7678
file("${rootProject.projectDir}/pkix/build/cobertura/cobertura.ser"),
7779
file("${rootProject.projectDir}/prov/build/cobertura/cobertura.ser"),
80+
file("${rootProject.projectDir}/tls/build/cobertura/cobertura.ser"),
7881
]
7982
auxiliaryClasspath += files("${rootProject.projectDir}/core/build/classes/main")
8083
coverageFormats = ['html', 'xml']

0 commit comments

Comments
 (0)