Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
926 commits
Select commit Hold shift + click to select a range
c3aecda
TODO: cover tests for EDDSA_LEGACY in BcImplProvider.
Feb 12, 2024
f3e0e81
TODO: cover tests for EDDSA_LEGACY in BcImplProvider.
Feb 12, 2024
206063d
changes of build.gradle
Feb 12, 2024
38a13aa
Merge branch 'main' into pg-jacoco
Feb 12, 2024
3892e9b
Fix :pg:checkstyleMain.
Feb 13, 2024
2ff1d8e
Add tests for BcImplProvider, ECDHPublicBCPGKey, ECSecretBCPGKey etc.
Feb 13, 2024
671409e
Add a system property enableCamelliaKeyWrapping for camellia key wrap…
Feb 13, 2024
32997f7
Merge branch 'bcgit:main' into tls-kyber
yuhh0328 Feb 13, 2024
431d8cc
1. rename (PQC -> KEM)
Feb 13, 2024
889147e
remove TlsKemMode
Feb 13, 2024
ba97828
Add tests to PGPOnePassSignatureList, PGPOnePassSignature, PGPEncrypt…
Feb 14, 2024
e9e69bb
Add tests to PGPUtils
Feb 14, 2024
55f875a
setWithAEAD in JcePGPDataEncryptorBuilder and BcPGPDataEncryptorBuild…
Feb 14, 2024
49fda4f
Extract common codes from PGPPublicKeyEncryptedData and PGPSymmetricK…
Feb 14, 2024
2fe3820
Add tests for PGPUserAttributeSubpacketVector, PGPCompressedData, PGP…
Feb 14, 2024
fb63173
Add key converter support for X448 in BcPGPKeyConverter and JcaPGPKey…
Feb 14, 2024
7d587f0
delete PQC namedGroups from hasAnyECDSA
Feb 14, 2024
e9eea59
add kem namedGroup test
Feb 14, 2024
ab76673
Add tests for JcePBESecretKeyDecryptorBuilder, PGPSignatureVerifierBu…
Feb 15, 2024
fb31685
Add tests for PGPSignatureVerifierBuilder.
Feb 15, 2024
a8e4f79
Add tests for ImageAttribute, PGPSignatureVerifierBuilder, PGPLiteral…
Feb 15, 2024
5da1e3c
Add tests for JcaPGPPublicKeyRing, PGPUserAttributeSubpacketVector, P…
Feb 15, 2024
cfc24a1
Add tests for JcaKeyFingerprintCalculator etc.
Feb 15, 2024
ae57c7a
added exclusion to skip tests for 11,17 and 21 when testing for java 8.
mwcw Feb 16, 2024
c4cb094
Add X25519, X448, Ed25519 and Ed448 tags for JcaPGPKeyConverter and B…
Feb 16, 2024
7fdd0bb
Add X25519, X448, Ed25519 and Ed448 tags for BcPublicKeyDataDecryptor…
Feb 19, 2024
ccd7531
Add tests for X25519, X448, Ed25519 and Ed448 tags.
Feb 20, 2024
802829e
Refactor for X25519, X448, Ed25519 and Ed448 tags.
Feb 20, 2024
529a2ff
Refactor for X25519, X448, Ed25519 and Ed448 tags.
Feb 20, 2024
3d17827
added exclusion to skip tests for 11,17 and 21 when testing for java 8.
Feb 20, 2024
b66e749
Update test_8.sh, removed extra space in test11 name
Feb 20, 2024
2e9c59d
Add tests for PGPCanonicalizedDataGenerator, JcePublicKeyDataDecrypto…
Feb 20, 2024
e7d4a2d
Merge remote-tracking branch 'origin/pg-jacoco' into pg-jacoco
Feb 20, 2024
e010067
Add tests. Refactor on BcPGPKeyConverter and make functions in SExpre…
Feb 20, 2024
bddaee3
Add tests to RFC6637Utils
Feb 21, 2024
cf4e224
Merge branch 'main' into pg-jacoco
Feb 21, 2024
81c6b47
Add tests to RFC6637Utils
Feb 21, 2024
09bb47d
Add support for Camellia wrap in RFC6637Utils. Add tests for Ed25519 …
Feb 21, 2024
7792a96
Add support for Camellia AEAD cipher
Feb 21, 2024
fe6fdb5
Add support for Camellia AEAD cipher
Feb 21, 2024
6d272bd
Fix test failure in BcpgGeneralTest.
Feb 21, 2024
3ec1fb6
Refactor around Camellia in AEAD situations.
Feb 21, 2024
5c8caa7
Cleanup obsolete TODO
peterdettman Feb 21, 2024
db2bf0e
Add tests for CAMELLIA
Feb 21, 2024
85b34a6
set default initial value for camellia
Feb 22, 2024
103afe3
rollback the setting for default iv of camellia
Feb 22, 2024
fd2b835
rollback the setting for default iv of camellia
Feb 22, 2024
ea2b9b9
Correct words in IllegalArgumentException. TODO: Derive Ed25519 and E…
Feb 22, 2024
eafd9a2
Ed448PublicBCPGKey works now.
Feb 23, 2024
f753f1b
Ed25519 and Ed448 works now.
Feb 23, 2024
e570bd0
Pass all tests for Ed25519, Ed448, X25519 and X448.
Feb 23, 2024
13323ab
Add tests for curves
Feb 23, 2024
e71cdcd
Update SNTRUPrime KEMSpi for jdk21 (only tested generic)
Feb 23, 2024
bd6e70c
Fixed SNTRUPrime KEMSpi for jdk21, added more tests
Feb 23, 2024
766374e
source and javadoc generation
mwcw Feb 25, 2024
4f64b6e
Try to correct the encryption procedures of X25519 and X448 encryption.
Feb 25, 2024
3e0b21c
Correct the PKESK format of X25519 and X448.
Feb 26, 2024
b8acab9
Jcajce classes uses HKDF for X25519 and X448 now
Feb 26, 2024
d37128e
Factor out TlsRsaKeyExchange class into core
peterdettman Feb 26, 2024
ce4ff4e
HKDF for X25519 and X448
Feb 26, 2024
58de5a8
Refactor codes around X25519 and X448
Feb 27, 2024
20f2634
Refactor codes around X25519 and X448
Feb 27, 2024
ad0d6da
TODO task: unable to parse the test vector for Ed25519 key as the dec…
Feb 27, 2024
0635518
Remove some unused codes
Feb 27, 2024
d965932
Changes around HKDF of X25519 and X448.
Feb 27, 2024
1b909fd
Correct HKDF settings for X25519 and X448.
Feb 27, 2024
1c811fd
correct info of for HKDF in BcPublicKeyDataDecryptorFactory and BcPub…
Feb 27, 2024
c9ecf18
Merge branch 'main' into pg-jacoco
Feb 27, 2024
8767f0b
Inline RSA, PKCS1 code into TlsRsaKeyExchange
peterdettman Feb 27, 2024
2892707
Update the test case for X25519 with HKDF
Feb 28, 2024
30cecc6
Use UserKeyingMaterialSpecWithPrepend for transporting HKDFParameters…
Feb 28, 2024
5954ec8
fixed OSGI export
dghgit Feb 28, 2024
9eb6ae6
Merge remote-tracking branch 'refs/remotes/origin/main'
dghgit Feb 28, 2024
303e588
fixed OSGI export
dghgit Feb 28, 2024
0cadb15
fixed international characters in HTML
dghgit Feb 29, 2024
9ec8173
fixed OSGI export
dghgit Feb 29, 2024
85cb667
fixed OSGI export
dghgit Feb 29, 2024
0f37354
fixed OSGI export
dghgit Feb 29, 2024
45ee59e
fixed OSGI export
dghgit Feb 29, 2024
70e8def
added debug stanza for subprojects
dghgit Feb 29, 2024
b90d3b4
added OSGI/module-info to MLS
dghgit Feb 29, 2024
26cf352
temp rm of mls
dghgit Feb 29, 2024
cc4c67b
fix to mls build
dghgit Feb 29, 2024
d5e9663
removed provider depency from AllTests - not required
dghgit Mar 2, 2024
8cf1e8e
added use of JAVA_VERSION_PREFIX environment variable
dghgit Mar 2, 2024
b7ecdf1
Update .gitlab-ci.yml file
Mar 2, 2024
d9412c3
Merge remote-tracking branch 'origin/pg-jacoco'
dghgit Mar 4, 2024
f5b2250
removed use of UserKeyingMaterialSpecWithPrepend.
dghgit Mar 4, 2024
afa462f
Merge branch 'main' of gitlab.cryptoworkshop.com:root/bc-java
dghgit Mar 4, 2024
3b8be52
Refactor RSA engines
peterdettman Mar 4, 2024
98b1839
Fix timing dependency on RSA output
peterdettman Mar 4, 2024
30ace1f
Added config stanza for test report output dir. Updated job dependenc…
mwcw Mar 4, 2024
3cb9f87
pr-1567: Fix bug in createCompressed()
Mar 4, 2024
feb8b6c
Move some OID mappings around
peterdettman Mar 4, 2024
b4d8907
Junit test results, report
mwcw Mar 4, 2024
d22bc14
Merge remote-tracking branch 'origin/main'
mwcw Mar 4, 2024
cbffdf2
Gitlab test results for all test tasks.
mwcw Mar 4, 2024
ab00336
refactored use of new ErrorBundle to avoid class loader issues with m…
dghgit Mar 5, 2024
c3624a5
refactored to deal with class loader issues in ErrorBundles for modules
dghgit Mar 5, 2024
4ff20f7
refactored to deal with class loader issues in ErrorBundles for modules
dghgit Mar 5, 2024
8aebe04
Merge branch 'bcgit:main' into main
Mar 5, 2024
8dce487
update to draft v13. samples from draft are now compatible with the e…
Honzaik Mar 5, 2024
63acae9
Add targets for build-util and build-pkix.
brownp2k Mar 5, 2024
22bab0c
reverted otherInfo to null
Mar 5, 2024
f85dda0
excluded broken mls test (waiting for fixed tests)
Mar 5, 2024
603c88e
fixed unknown type error
dghgit Mar 6, 2024
c929cac
added missing cast...
dghgit Mar 6, 2024
30a7eb7
move of oiw, cryptlib and mozilla to util package
dghgit Mar 6, 2024
c7a425c
move of ASN.1 gnu, ntt and iana to util package
dghgit Mar 6, 2024
e05e4b7
move of ASN.1 isara, iso, kisa, and microsoft to util package
dghgit Mar 6, 2024
6a4e8d6
Refactoring
peterdettman Mar 7, 2024
379872c
Fix headings
peterdettman Mar 7, 2024
ee8ea02
Belated release note for BCJSSE change
peterdettman Mar 7, 2024
3b77ea5
move of ASN.1 edec, misc, nsri, and rosstandart to util package
dghgit Mar 7, 2024
1c34996
Merge branch 'main' of gitlab.cryptoworkshop.com:root/bc-java
dghgit Mar 8, 2024
b093c24
Add ASN1RelativeOID cache
peterdettman Mar 8, 2024
acacac2
correct suppressions.xml for Windows
dghgit Mar 11, 2024
7068177
correct suppressions.xml for Windows/Linux
dghgit Mar 11, 2024
3021ab8
moved to platform independent path seperator
dghgit Mar 11, 2024
1c8f237
moved to platform independent path seperator
dghgit Mar 11, 2024
dbd24fe
further windows tweaks
dghgit Mar 11, 2024
3790993
ASN.1: Limit OID contents to 4096 bytes
peterdettman Mar 11, 2024
6dc716d
Use tryFromID to check for OID string
peterdettman Mar 12, 2024
9c16579
Fix for EdDSA verification infinite loop
cipherboy Mar 13, 2024
02f1fb4
Add regression tests for Ed25519 loop
cipherboy Mar 15, 2024
44bd356
enabled broken mls tests (now fixed)
Mar 15, 2024
51c6811
fixed typo in releasenotes.html
dghgit Mar 16, 2024
e384aad
Merge branch 'stellar/r1rv77-buildFixes' of https://github.com/stella…
dghgit Mar 16, 2024
47ce473
Merge branch 'stellarscience-stellar/r1rv77-buildFixes'
dghgit Mar 16, 2024
98a0fbe
added sanity checks for boolean flags - related to github #1575
dghgit Mar 16, 2024
ed53532
conflict resolution
dghgit Mar 16, 2024
a679ef1
conflict resolution
dghgit Mar 16, 2024
6a5fd5e
Merge branch 'Honzaik-main'
dghgit Mar 16, 2024
c518429
standard digest tests for PGP (draft) relates to GitHub #1566
dghgit Mar 16, 2024
7f95854
added use of TestResourceFinder.
dghgit Mar 16, 2024
2adbe3d
Initial cut of RFC 9215 for GOST-3410 relates to github #1586
dghgit Mar 16, 2024
7b3a2bc
additional work on RFC 9215 parameter restrictions github #1586
dghgit Mar 16, 2024
98d5c16
additional work on RFC 9215 parameter restrictions, more nulls - gith…
dghgit Mar 16, 2024
d3d9074
additional work on RFC 9215 parameter restrictions, capturing reduced…
dghgit Mar 16, 2024
212cce1
added setting of digestParam for old GOST params
dghgit Mar 16, 2024
2958d6e
minor cleanup
dghgit Mar 16, 2024
506875a
removed external dependency on provider composite name class
dghgit Mar 17, 2024
3d66c26
256 bit NTRU parameters
dghgit Mar 17, 2024
5efe465
added support for NTRU HRSS 1373
dghgit Mar 18, 2024
2afa6ad
minor refactoring - removal of common code.
dghgit Mar 18, 2024
66e042b
added additional NTRU OIDs to provider.
dghgit Mar 18, 2024
a034f61
change to use this.read() relates to github #1577
dghgit Mar 18, 2024
ad215d0
Merge branch 'memoable' of https://github.com/seungyeonpark/bc-java i…
dghgit Mar 20, 2024
166f112
Merge branch 'seungyeonpark-memoable'
dghgit Mar 20, 2024
deb0954
Further checks in bcpg.sig
peterdettman Mar 20, 2024
ebe1c75
EdDSA: Explicit guard against infinite looping
peterdettman Mar 20, 2024
eb98ec6
Remove duplicate test case
peterdettman Mar 20, 2024
73449df
fixed dodgy test...
dghgit Mar 20, 2024
100aa8d
Merge branch 'main' of gitlab.cryptoworkshop.com:root/bc-java
dghgit Mar 20, 2024
4155ab2
Initial cut for id-alg-cek-hkdf-sha256 CMS support.
dghgit Mar 23, 2024
cae1829
added import of java.logging (github #1608)
dghgit Mar 23, 2024
d7d5e73
added new RSA mode for better TLS unwrap operation relates to github …
dghgit Mar 23, 2024
e5b46ea
widened RSA private key support - relates to github #1528
dghgit Mar 23, 2024
b5321b5
corrected repackaging issue.
dghgit Mar 23, 2024
b4762c6
added missing copy statement
dghgit Mar 25, 2024
bb879ff
removed AllTests for keybox test
dghgit Mar 25, 2024
93f8b34
Added running ant build to CI.
mwcw Mar 25, 2024
ec31b82
Added ant to path.
mwcw Mar 25, 2024
1e9721f
Update to pass multiple args to javadoc
mwcw Mar 25, 2024
dc6640f
Added call to gitlab_wait
Mar 26, 2024
85a6058
Removed gitlab_wait.sh from jobs.
Mar 26, 2024
d884486
added some explanatory comments.
dghgit Mar 26, 2024
a84dffb
minor changes to messages
dghgit Mar 26, 2024
17ea161
Merge branch 'main' of gitlab.cryptoworkshop.com:root/bc-java
dghgit Mar 26, 2024
9c84c41
Round out implementation of TLS RSA PreMasterSecret
peterdettman Mar 26, 2024
97b1684
Refactoring
peterdettman Mar 26, 2024
ed8035b
removed use of PQC provider.
dghgit Mar 26, 2024
b037095
NTRU KEMspi for jdk 21
Mar 26, 2024
92b7dce
Merge branch 'tls-kyber' of https://github.com/samsungsds-research-pa…
Mar 26, 2024
3256672
Merge branch 'main' of gitlab.cryptoworkshop.com:root/bc-java
dghgit Mar 27, 2024
f7fa1c4
digest name fix.
dghgit Mar 27, 2024
68d6e77
fixed checkstyle issue
dghgit Mar 27, 2024
72081fd
reverted PGPUtil inclusion
dghgit Mar 27, 2024
02b98eb
Fix various bitstring usages
peterdettman Mar 27, 2024
937d9c2
Fix engineGetOutputSize and add some TODOs
peterdettman Mar 27, 2024
966eed3
Add regression tests for Ed448 loop
cipherboy Mar 27, 2024
61514fb
Update EdDSA tests
peterdettman Mar 29, 2024
5eaa290
corrected test to avoid failure where last byte was already zero.
dghgit Mar 29, 2024
e91cab0
Merge branch 'main' of gitlab.cryptoworkshop.com:root/bc-java
dghgit Mar 29, 2024
9aa5b50
Added Mock Tls Tests
Apr 2, 2024
373d02e
Renamed kyber to mlkem
Apr 2, 2024
d33131e
Added mismatch test for different version of mlkem
Apr 2, 2024
8adb393
Added missing input validation for ML-KEM Encapsulation (fips 203 6.2)
Apr 2, 2024
ff11107
Replaced RuntimeException with IllegalArgumentException
Apr 2, 2024
8e58f1a
minor changes for compatibility
dghgit Apr 3, 2024
a795ca3
minor changes for compatibility
dghgit Apr 3, 2024
cc6e996
added AES CBC based PKCS12 store and AES GCM based PKCS12 store
dghgit Apr 3, 2024
f36c59f
minor changes for compatibility
dghgit Apr 3, 2024
e21587a
added use of Strings.toLowerCase()
dghgit Apr 3, 2024
65c9832
BCJSSE: Private key may not support encoding
peterdettman Apr 3, 2024
c47f644
BCJSSE: Improved workaround for InetAddress limitation
peterdettman Apr 3, 2024
807df10
Updates : add tls-kyber
yuhh0328 Jan 10, 2024
35002d9
Added KEM check in selectKeyShare/Group
Apr 3, 2024
63fa266
added fail in catch
Apr 3, 2024
58b5355
quick little arrangement
Apr 3, 2024
b6ac3d4
TLS: Rework ML-KEM PR
peterdettman Apr 3, 2024
10998f4
Merge remote-tracking branch 'origin/samsungsds-research-papers-tls-k…
Apr 3, 2024
e2903b1
Merged tests to tls ml-kem
Apr 3, 2024
28b2d3e
removed extra files due to naming
Apr 3, 2024
b52c6a4
removed extra files due to naming
Apr 3, 2024
9ebab44
added role back to simpler match for certificate matching (issue arou…
dghgit Apr 4, 2024
b2cb646
minor formatting
dghgit Apr 4, 2024
4721ce2
minor formatting
dghgit Apr 4, 2024
c397f26
moved to 1.78, BCJSSE 1.0.19.
dghgit Apr 4, 2024
b51f0b5
minor reformatting
dghgit Apr 4, 2024
f7193e0
compatibility updates.
dghgit Apr 4, 2024
6f75d8a
Ensure test data changes are pulled into container.
mwcw Apr 4, 2024
fda1e93
Removed test data pull.
mwcw Apr 4, 2024
3910a58
Cleanup deprecated TLS code
peterdettman Apr 4, 2024
c626bc3
DTLS: more robust exclusion of stream ciphers
peterdettman Apr 4, 2024
7a2cc6f
TLS: Use more appropriate method to check for ECDH curve
peterdettman Apr 4, 2024
439a643
Java 5 compatibility updates
dghgit Apr 4, 2024
42b7051
Java 5 compatibility updates
dghgit Apr 4, 2024
4f71aac
Merge branch 'main' of gitlab.cryptoworkshop.com:root/bc-java
dghgit Apr 4, 2024
d3d4a3a
Java 5 compatibility updates.
dghgit Apr 4, 2024
dd276b2
Java 5 compatibility updates.
dghgit Apr 4, 2024
81da673
Java 5 compatibility updates.
dghgit Apr 4, 2024
4520a1f
Add release notes for 1.78
cipherboy Apr 4, 2024
e73dbc5
Fix CCM input length check
cipherboy Apr 4, 2024
a38c09f
Java 5 compatibility
dghgit Apr 4, 2024
2120772
Merge branch 'main' of gitlab.cryptoworkshop.com:root/bc-java
dghgit Apr 4, 2024
32da5b7
Java 4 compatibility updates.
dghgit Apr 5, 2024
58d5ecf
added name resolving for jurisdiction{C,ST,L}. These are used in EV c…
mtgag Apr 5, 2024
0aa6fb4
Add CCM fix to release notes
cipherboy Apr 5, 2024
76f342e
Merge branch 'mtgag-jurisdiction_strings'
dghgit Apr 5, 2024
aaf3e40
Java 4 updates
dghgit Apr 5, 2024
c569173
Update release notes
peterdettman Apr 5, 2024
ea6ab94
Java 4 updates
dghgit Apr 5, 2024
f099d16
Merge branch 'main' of gitlab.cryptoworkshop.com:root/bc-java
dghgit Apr 5, 2024
2a5d4e1
minor cleanups
dghgit Apr 6, 2024
be2296d
moved to 1.78
dghgit Apr 6, 2024
11807fb
corrected version number
dghgit Apr 7, 2024
c119919
almost final releasenotes
dghgit Apr 7, 2024
a496b0b
update
dghgit Apr 7, 2024
5b13608
Java 2, Java 3, compatibility updates
dghgit Apr 8, 2024
8ab2aa2
Merge remote-tracking branch 'upstream/main' into tls-injection2
sergejskozlovics Apr 14, 2024
dc6a801
moved the main TLS Injection Mechanism out from the core package, lea…
sergejskozlovics Apr 19, 2024
48792c7
refactored TLS Injection Mechanism; moved it to the tls package
sergejskozlovics Apr 19, 2024
45dd268
fixed comments
sergejskozlovics Apr 19, 2024
ee644df
Removed UniversalKeyPairGenerator, since it is not used by the TLS In…
sergejskozlovics Apr 19, 2024
57af27a
renamed variables "*EncodedKey" to "*ByteKey"; add "RSASSA-PSS" as a …
sergejskozlovics Jun 3, 2024
9a2e253
added .clone() for the shared key, since BC may alter it
sergejskozlovics Jun 14, 2024
8449c71
added isEmpty() to InjectionPoint
sergejskozlovics Jun 14, 2024
afb1a44
fixed a bug when KEM keyGen() was unnecessarily invoked at the server…
sergejskozlovics Jun 14, 2024
ac2006b
adding the BC provider in InjectionPoint.push
sergejskozlovics Jun 18, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
bin/
build/
*/build/
libs/*.jar
out/
*/out/
.settings/
Expand Down
111 changes: 97 additions & 14 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,30 +1,113 @@
stages:
- check
- build
- test

check-code:
stage: check
script:
- "apply_overlay bc-java ./"
- ". cienv.sh; \ gradle check -x test;"

- "ecr_login"
- "ecr_pull vm_base_intel latest"
- "ci_docker_run \"vm_base_intel:latest\" \"bc-java\" \"/workspace/bc-java/ci/check_java.sh\""
artifacts:
when: always
paths:
- "core/build/reports"
- "prov/build/reports"
- "pg/build/reports"
- "pkix/build/reports"
- "mail/build/reports"
- "util/build/reports"
- "tls/build/reports"
- "mls/build/reports"

ant-build:
stage: build
needs: [ "check-code" ]
script:
- "ecr_login"
- "ecr_pull vm_base_intel latest"
- "ci_docker_run \"vm_base_intel:latest\" \"bc-java\" \"/workspace/bc-java/ci/build_1_8.sh\""


test-code-8:
stage: test
needs: [ "check-code" ]
script:
- "apply_overlay bc-java ./"
- "sh gettestdata.sh"
- ". cienv-8.sh; \ gradle -stacktrace clean build;"

- "ecr_login"
- "ecr_pull vm_base_intel latest"
- "ci_docker_run \"vm_base_intel:latest\" \"bc-java\" \"/workspace/bc-java/ci/test_8.sh\""
artifacts:
when: always
reports:
junit:
- "core/build/test-results/**/*.xml"
- "prov/build/test-results/**/*.xml"
- "pg/build/test-results/**/*.xml"
- "pkix/build/test-results/**/*.xml"
- "mail/build/test-results/**/*.xml"
- "util/build/test-results/**/*.xml"
- "tls/build/test-results/**/*.xml"
- "mls/build/test-results/**/*.xml"

test-code-11:
stage: test
needs: [ "check-code" ]
script:
- "apply_overlay bc-java ./"
- "sh gettestdata.sh"
- ". cienv-11.sh; \ gradle -stacktrace clean build;"

- "ecr_login"
- "ecr_pull vm_base_intel latest"
- "ci_docker_run \"vm_base_intel:latest\" \"bc-java\" \"/workspace/bc-java/ci/test_11.sh\""
artifacts:
when: always
reports:
junit:
- "core/build/test-results/**/*.xml"
- "prov/build/test-results/**/*.xml"
- "pg/build/test-results/**/*.xml"
- "pkix/build/test-results/**/*.xml"
- "mail/build/test-results/**/*.xml"
- "util/build/test-results/**/*.xml"
- "tls/build/test-results/**/*.xml"
- "mls/build/test-results/**/*.xml"


test-code-17:
stage: test
needs: [ "check-code" ]
script:
- "ecr_login"
- "ecr_pull vm_base_intel latest"
- "ci_docker_run \"vm_base_intel:latest\" \"bc-java\" \"/workspace/bc-java/ci/test_17.sh\""
artifacts:
when: always
reports:
junit:
- "core/build/test-results/**/*.xml"
- "prov/build/test-results/**/*.xml"
- "pg/build/test-results/**/*.xml"
- "pkix/build/test-results/**/*.xml"
- "mail/build/test-results/**/*.xml"
- "util/build/test-results/**/*.xml"
- "tls/build/test-results/**/*.xml"
- "mls/build/test-results/**/*.xml"


test-code-21:
stage: test
needs: [ "check-code" ]
script:
- "apply_overlay bc-java ./"
- "sh gettestdata.sh"
- ". cienv-17.sh; \ gradle -stacktrace clean build;"
- "ecr_login"
- "ecr_pull vm_base_intel latest"
- "ci_docker_run \"vm_base_intel:latest\" \"bc-java\" \"/workspace/bc-java/ci/test_21.sh\""
artifacts:
when: always
reports:
junit:
- "core/build/test-results/**/*.xml"
- "prov/build/test-results/**/*.xml"
- "pg/build/test-results/**/*.xml"
- "pkix/build/test-results/**/*.xml"
- "mail/build/test-results/**/*.xml"
- "util/build/test-results/**/*.xml"
- "tls/build/test-results/**/*.xml"
- "mls/build/test-results/**/*.xml"
31 changes: 24 additions & 7 deletions CONTRIBUTORS.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<p>
The following people and organisations donated financially to help with the release of Bouncy Castle:
<br />&nbsp;<br />
EduFer (1.72). Miguel, Rodolfo Hansen, and iterate GmbH (1.69). Encryptomatic.com (1.67). Denis Beurive, Ravi_02, and Manuel Corona (1.66). Christian Kahlo, Alexi Livshitz, and Denis Beurive (1.65). Joshua Hight (1.63). Bihari Babu (1.61). Jens Neuhalfen and perillamint (1.60). Brian Reid (1.59). Joop Kaashoek and Pexus LLC (1.57). DidiSoft, Cotiviti, Atanas Krachev, Encryptomatic LLC, LogicalAnswersIncSupporter (1.56). Digistamp, RAM NAG (1.55). Lobster GmbH (1.54). Sheba, Ishmal Bartley, and Li-Chang Johnny Lo (1.53). lecker&#064buetterchen.de, Charles Proxy, Gunny Mills, Morgan Le Douget, Ben Whitaker, and Emilio Navarrete Lineros (1.52). Gup & Boz &#64 Alki Seattle, Bytemine Gmbh, Ted Pennings, Atanas Krachev, PrimeKey Solutions AB, Martin Paljak, CorseraFri19980116, CPU Terminator, Lindsay Bradford, kares, Philius, and Aaron Anderson (1.51).
AXL Software, Larry West (California), A-Sher (1.77). EduFer (1.72). Miguel, Rodolfo Hansen, and iterate GmbH (1.69). Encryptomatic.com (1.67). Denis Beurive, Ravi_02, and Manuel Corona (1.66). Christian Kahlo, Alexi Livshitz, and Denis Beurive (1.65). Joshua Hight (1.63). Bihari Babu (1.61). Jens Neuhalfen and perillamint (1.60). Brian Reid (1.59). Joop Kaashoek and Pexus LLC (1.57). DidiSoft, Cotiviti, Atanas Krachev, Encryptomatic LLC, LogicalAnswersIncSupporter (1.56). Digistamp, RAM NAG (1.55). Lobster GmbH (1.54). Sheba, Ishmal Bartley, and Li-Chang Johnny Lo (1.53). lecker&#064buetterchen.de, Charles Proxy, Gunny Mills, Morgan Le Douget, Ben Whitaker, and Emilio Navarrete Lineros (1.52). Gup & Boz &#64 Alki Seattle, Bytemine Gmbh, Ted Pennings, Atanas Krachev, PrimeKey Solutions AB, Martin Paljak, CorseraFri19980116, CPU Terminator, Lindsay Bradford, kares, Philius, and Aaron Anderson (1.51).
</p>
<p>
We also wish to acknowledge financial and collaborative support from <a href="https://www.cisco.com/">CISCO</a> and additional financial support from <a href="https://www.primekey.com/">PrimeKey</a> towards developing the EST API for RFC 7030 support.
Expand Down Expand Up @@ -384,7 +384,7 @@
<li>Tobias Wich&lt;tobias.wich&#064ecsec.de&gt; Provided patch for TLS to work around servers sending Supported Elliptic Curves extension unexpectedly.</li>
<li>Hauke Mehrtens&lt;hauke&#064hauke-m.de&gt; TLS patch to add ECDHE_ECDSA CCM ciphersuites from RFC 7251.</li>
<li>Daniel Zimmerman&lt;dmz&#064galois.com&gt; Further key quality improvements to RSAKeyPairGenerator.</li>
<li>Jens Kapitza&ltj.kapitza&#064schwarze-allianz.de&gt; Iterable support in OpenPGP API, code cleanup in OpenPGP API.</li>
<li>Jens Kapitza&lt;j.kapitza&#064schwarze-allianz.de&gt; Iterable support in OpenPGP API, code cleanup in OpenPGP API.</li>
<li>Johan Eklund&lt;johan&#064primekey.se&gt; update to RFC 6960 for OCSPObjectIdentifiers.</li>
<li>nikosn&lt;https://github.com/nikosn&gt; Fix to encoding of EC private keys to ensure encoding matches order length.</li>
<li>Axel von dem Bruch &lt;axel-vdb&#064riseup.net&gt; Contributions to BCrypt/OpenBSDBCrypt, original version of Blake2bDigest.</li>
Expand Down Expand Up @@ -441,18 +441,18 @@
<li>David Strawn &lt;https://github.com/isomarcte&gt; fix for off by one error in SCRYPT bounds checking.</li>
<li>chris mccown &lt;0xchrismccown&#064gmail.com&gt; identification of serialisation issue with XMSS/XMSSMT private keys (see also CVE-2018-1000613).</li>
<li>ZZMarquis &lt;https://github.com/ZZMarquis&gt; offset patches for SM2 encryption and decryption, improvement to Array constant time comparison.</li>
<li>Andreas Kretschmer &lt;https://github.com/Akretsch&gt; NPE fix for CertTemplate.getVersion()</li>
<li>Andreas Kretschmer, Siemens AG &lt;https://github.com/Akretsch&gt; NPE fix for CertTemplate.getVersion(), ASN.1 KEM Support classes for CMP.</li>
<li>Armin Lunkeit, Michael Tautenhahn &lt;&gt; identification of M-R test issue on higher certainty values in RSA key pair generation.</li>
<li>Vincent Breitmoser &lt;https://github.com/Valodim&gt; fix to ignore unnecessary checksum calculator on PGP secret key encryption.</li>
<li>Adam Vartanian &lt;https://github.com/flooey&gt; use of ShortBuffer exception and buffer size pre-check in Cipher.doFinal().</li>
<li>Bernd &lt;https://github.com/ecki&gt; Fix to make PGPUtil.pipeFileContents use buffer and not leak file handle.</li>
<li>Shartung &lt;https://github.com/shartung&gt; Additional EC Key Agreement algorithms in support of German BSI TR-03111.</li>
<li>Paul Schaub &lt;https://github.com/vanitasvitae&gt; bringing PGPSecretKey.getUserIds() into line with PGPPublicKey.getUserIds(). Exception message fix in BcPublicKeyDataDecryptorFactory. Additional tests on PGP key ring generation. Improved functionality of PGPSignatureSubpacketGenerator, PGPPublicKeyRing. Tweaks to PGPDataEncryptorBuilder interface, fix for JcaPGP/BcPGP Ed25519 private key conversion. Added configurable CRC detection to ArmoredInputStream, additional control character skipping in ArmoredInputStream. Rewind code for PGPPBEEncryptedData, addition of PGPSignature.getDigestPrefix(). Wrong list traversal fix in PGPSecretKeyRing. Further improvement to use of generics in PGP API. General interop improvements. PGP Public / Secure keyring ignore marker packets when reading. Initial work on PGP session key handling, filtering literal data for canoncialization. Addition of direct key identified key-ring construction. PGPSecretKeyRing.insertOrReplacePublicKey addition. Addition of utility methods for joining/merging signatures and public keys. Addition of PGP regexp packet, PolicyURI packet handling, UTF8 comment testing. Efficiency improvements to TruncatedStream. Initial Argon2 support for OpenPGP. General cleanups. Fast CRC24 implementation, SHA3 addtions to BcImplProvider, improvements to One Pass Signature support, read() consistency in BCPGInputStream. Contributions to AEAD support in PGP API.</li>
<li>Paul Schaub &lt;https://github.com/vanitasvitae&gt; bringing PGPSecretKey.getUserIds() into line with PGPPublicKey.getUserIds(). Exception message fix in BcPublicKeyDataDecryptorFactory. Additional tests on PGP key ring generation. Improved functionality of PGPSignatureSubpacketGenerator, PGPPublicKeyRing. Tweaks to PGPDataEncryptorBuilder interface, fix for JcaPGP/BcPGP Ed25519 private key conversion. Added configurable CRC detection to ArmoredInputStream, additional control character skipping in ArmoredInputStream. Rewind code for PGPPBEEncryptedData, addition of PGPSignature.getDigestPrefix(). Wrong list traversal fix in PGPSecretKeyRing. Further improvement to use of generics in PGP API. General interop improvements. PGP Public / Secure keyring ignore marker packets when reading. Initial work on PGP session key handling, filtering literal data for canoncialization. Addition of direct key identified key-ring construction. PGPSecretKeyRing.insertOrReplacePublicKey addition. Addition of utility methods for joining/merging signatures and public keys. Addition of PGP regexp packet, PolicyURI packet handling, UTF8 comment testing. Efficiency improvements to TruncatedStream. Initial Argon2 support for OpenPGP. General cleanups. Fast CRC24 implementation, SHA3 addtions to BcImplProvider, improvements to One Pass Signature support, signatue validation, read() consistency in BCPGInputStream. Contributions to AEAD support (v6 & v5) in PGP API. Addition of PGP WildCard ID, moving the PGP example code into the 21st century. Security patches for encrypted data generation, initial thread safe certification verification. Support for V6 EC keys, PGP packet criticality, and Preferred AEAD CipherSuites sigsubpacket support.</li>
<li>Nick of Nexxar &lt;https://github.com/nros&gt; update to OpenPGP package to handle a broader range of EC curves.</li>
<li>catbref &lt;https://github.com/catbref&gt; sample implementation of RFC 7748/Ed25519 (incorporated work from github users Valodim and str4d as well).</li>
<li>gerlion &lt;https://github.com/gerlion&gt; detection of concurrency issue with pre-1.60 EC math library.</li>
<li>fgrieu &lt;fgrieu&#064gmail.com&gt; identification and suggested fixes for possible timing vulnerability in OAEPEncoding and RSACoreEngine.</li>
<li>MTG &lt;https://github.com/mtgag&gt; patch for decoding issues in PKIPublicationInfo and CertifiedKeyPair.</li>
<li>MTG &lt;https://github.com/mtgag&gt; patch for decoding issues in PKIPublicationInfo and CertifiedKeyPair, patch for adding jurisdiction{C,ST,L} to X500 name style.</li>
<li>Andreas Gadermaier &lt;up.gadermaier&#064gmail.com&gt; initial version of Argon2 PBKDF algorithm.</li>
<li>Tony Washer &lt;tony.washer&#64yahoo.co.uk&gt; review of qTesla, Java 1.9 module code, additional test code and debugging for GOST, DSTU, and ECNR algorithms. Initial lightweight implementation of the ZUC ciphers and macs. Additions to LMS/HSS API implementations, fix for truncation issue with big HSS keys, contributions to optimization of LMS/HSS. Patch for XDH/EdDSA key handling and mcEliece decryption using kobaraImai. Initial GCM-SIV, Blake3, and Kangaroo implementation.</li>
<li>Vincent Bouckaert &lt;https://github.com/veebee&gt; initial version of RFC 4998 ASN.1 classes. Debugging and testing of high level RFC 4998 implementation.</li>
Expand Down Expand Up @@ -488,7 +488,7 @@
<li>vvvlado &lt;https://github.com/vvvlado&gt; Fix to support repeated headers in PGP armored data.</li>
<li>a--v--k &lt;https://github.com/a--v--k&gt; Clean up for some invalid mappings in the Java provider.</li>
<li>lipnitsk &lt;https://github.com/lipnitsk&gt; Fix for non-CRT RSA Private serialisation.</li>
<li>Niccolò Fontana &lt;https://github.com/NicFontana&gt; Initial fix for high-latency DTLS HelloVerifyRequest handshakes.</li>
<li>Niccol&ograve; Fontana &lt;https://github.com/NicFontana&gt; Initial fix for high-latency DTLS HelloVerifyRequest handshakes.</li>
<li>sudheernv &lt;https://github.com/sudheernv&gt; Patch for KMAC rightEncode() encoding.</li>
<li>Mathias Neuhaus &lt;https://github.com/mneuhaus-cv&gt; Patch for cSHAKE extra padding on block aligned N and S bug.</li>
<li>Yuri Schimke &lt;https://github.com/yschimke&gt; Patch for nested exception handling in BcKeyStoreSpi.</li>
Expand Down Expand Up @@ -529,7 +529,24 @@
<li>Amazon AWS Security Team - isolation and identification of performance bottlenecks in the BC PEM parsing support.</li>
<li>Phillip Schichtel &lt;https://github.com/pschichtel&gt; - initial code for specifying wrapping algorithm with PGP PBE encryption method, forcing of session key usage.</li>
<li>Alexander Dippel &lt;https://github.com/adippel&gt; - corrections to prevent NPEs on chunked encoding of EST responses.</li>
<li>Johann N. Löfflmann &lt;https://github.com/jonelo&gt; - fix to "too small" buffer issue in Blake2sp.</li>
<li>Johann N. L&ouml;fflmann &lt;https://github.com/jonelo&gt; - fix to "too small" buffer issue in Blake2sp.</li>
<li> Scott Xu &lt;https://github.com/scott-xu&gt; - message fix in OpenSSHPublicKeyUtil</li>
<li>Scott Arciszewski &lt;https://github/scottarc&gt; - correction to ant scripts to ensure UTF8 support.</li>
<li>GitHub Security team - identification of the X509LDAPCertStoreSpi wildcard bug (see CVE-2023-33201).</li>
<li>James Howe &lt;https://github.com/OrangeDog&gt; - improvement to cross-provider compatibility in JcaPKCS10CertificationRequest.</li>
<li>Steffen Heil &lt;https://github.com/steffen-heil&gt; - correction to error handling in Arrays.getLength().</li>
<li>Thomas D. &lt;https://github.com/thomdev&gt; - expansion of HPKE APIs, addition of user controlled ephemeral key to HPKE API.</li>
<li>Franz Fangmeyer &lt;https://github.com/ff-wl&gt; - exception handling for improper use of '=' in an X.500 RDN.</li>
<li>Jonathan Lennox &lt;https://github.com/JonathanLennox&gt; - fix DTLS retransmission bug with aggregated ChangeCipherSpec.</li>
<li>Thomas Devanneaux &lt;tdevanneaux&#064apple.com&gt; - extensions to the HPKE API to support encryption/decryption from byte ranges, allow sender selected ephemeral key.</li>
<li>Norman Maurer &lt;norman_maurer&#064apple.com&gt; - extensions to the HPKE API to support encryption/decryption from byte ranges, allow sender selected ephemeral key.</li>
<li>Bing Shi &lt;roadicing&#064gmail.com&gt; - addition of F2m bounds checking for imported EC F2m curves.</li>
<li>Phil Brown &lt;https://github.com/brownp2k&gt; - additional ant targets for building util and pkix.</li>
<li>Tamas Cservenak &lt;https://github.com/cstamas&gt; - initial patch for supporting Ed25519 keys in GnuPG S-expressions.</li>
<li>chchen-scholar &lt;https://github.com/chchen-scholar&gt; - encoding fix for EccP256CurvePoint.</li>
<li>Seung Yeon &lt;https://github.com/seungyeonpark&gt; - addition of Memoable method implementations to CertPathValidationContext and CertificatePoliciesValidation.</li>
<li>yuhh0328 &lt;https://github.com/yuhh0328&gt; - initial patch for adding ML-KEM support to TLS.</li>
<li>Jan Oupick&yacute; &lt;https://github.com/Honzaik&gt; - update to draft 13 of composite PQC signatures.</li>
</ul>
</body>
</html>
45 changes: 45 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,51 @@ Except where otherwise stated, this software is distributed under a license base

**Note**: this source tree is not the FIPS version of the APIs - if you are interested in our FIPS version please contact us directly at [office@bouncycastle.org](mailto:office@bouncycastle.org).


## Environmental Variables

Before invoking gradlew you need to ensure the following environmental variables are defined and point
to valid JAVA_HOMEs for each JVM version:

```
export BC_JDK8=/path/to/java8
export BC_JDK11=/path/to/java11
export BC_JDK17=/path/to/java17
export BC_JDK21=/path/to/java21
```

## Building

The project now uses ```gradlew``` which can be invoked for example:

```
# from the root of the project

# Ensure JAVA_HOME points to JDK 17 or higher JAVA_HOME


./gradlew clean build

```

The gradle script will endeavour to verify their existence but not the correctness of their value.


## Multi-release jars and testing
Some subprojects produce multi-release jars and these jars are tested in different jvm versions.
Default testing on these projects is done on java 1.8 and there are specific test tasks for other versions.

1. test11 test on java 11 JVM
2. test17 test on java 17 JVM
3. test21 test on java 21 JVM

To run all of them:

```
./gradlew clean build test11 test17 test21
```


## Code Organisation

The clean room JCE, for use with JDK 1.1 to JDK 1.3 is in the jce/src/main/java directory. From JDK 1.4 and later the JCE ships with the JVM, the source for later JDKs follows the progress that was made in the later versions of the JCE. If you are using a later version of the JDK which comes with a JCE install please **do not** include the jce directory as a source file as it will clash with the JCE API installed with your JDK.
Expand Down
Loading