1
I Use This!
Very High Activity

Commits : Listings

Analyzed about 23 hours ago. based on code collected 2 days ago.
Nov 06, 2025 — Nov 06, 2026
Commit Message Contributor Files Modified Lines Added Lines Removed Code Location Date
Route the PKIXCertPathReviewer CRL distribution point fetch through the same protocol policy as CrlCache, so an ftp distribution point is no longer passed over and org.bouncycastle.x509.CRLDP_protocols applies here as well. More... 3 months ago
Only reuse a cached OCSP response that states a nextUpdate, as RFC 6960 sec. 4.2.2.1 has an absent one mean newer information is always available, and treat a response dated ahead of the validation time by more than the clock skew allowance as unreliable. More... 3 months ago
Bound the length and the number of OpenPGP ASCII armor header lines ArmoredInputStream will accumulate while parsing them at construction, with both limits set by org.bouncycastle.openpgp.max_armor_header_length and org.bouncycastle.openpgp.max_armor_headers. More... 3 months ago
minor clarification on attribution More... 3 months ago
Add NamedGroupsTest confirming the pure ML-KEM groups are not offered by default in either approved or non-approved mode, with the named group handshake machinery shared through NamedGroupTestUtil. More... 3 months ago
Keep the pure ML-KEM named groups out of the BCJSSE default candidate list, following TLS working group feedback, leaving them available through jdk.tls.namedGroups or BCSSLParameters.setNamedGroups. More... 3 months ago
Guard the null mode in MessageEncryptionMechanism hashCode and toString, so the unencrypted mechanism can be hashed and printed like any other. More... 3 months ago
Merge branch 'pgpainless-fixMessageEncryptionMechanism' More... 3 months ago
Merge branch 'fixMessageEncryptionMechanism' of https://github.com/pgpainless/bc-java into pgpainless-fixMessageEncryptionMechanism More... 3 months ago
Remove the unused DEFAULT_OCSP_TIMEOUT and DEFAULT_OCSP_MAX_RESPONSE_SIZE constants from ProvOcspRevocationChecker and ProvRevocationChecker. More... 3 months ago
Stop an OCSP responder's declared Content-Length widening the response read, with the ceiling now set by org.bouncycastle.ocsp.max_response_size and defaulting to 64K. More... 3 months ago
Honour org.bouncycastle.x509.enableCRLDP in X509RevocationChecker, drop the HttpURLConnection downcast from the pkix and jdk1.4 CRL fetchers, and add the optional org.bouncycastle.x509.CRLDP_protocols whitelist. More... 3 months ago
Fix encryption mode of MessageEncryptionMechanism.unencrypted() to 'null' More... 3 months ago
Have the parameter-set specific HQC, NTRU+ and SMAUG-T KeyFactory implementations inherit the base class algorithm OID check so a factory no longer accepts keys of another parameter set. More... 3 months ago
Merge branch 'main' of gitlab.cryptoworkshop.com:root/bc-java More... 3 months ago
Offer the ML-KEM named groups by default in BCJSSE and classify them as FIPS approved, with TlsFipsTest covering the FIPS-mode named groups, GCM cipher suites and protocol preference. More... 3 months ago
Record why SM9KeyExchange derives SK without the all-zero rejection the 0044.4 KDF sites carry, so the asymmetry reads as the standard's rather than as a missed guard GM/T 0044.3-2016 6.1 B5 and A7 end at the KDF call: there is no all-zero clause on either, and figure 1 draws no such decision, where 0044.4 draws one at every KDF site (6.1.1 A6 and 7.1.1 A6 redraw r, 6.2.1 B3 and 7.2.1 B3 report an error). Reading the two parts together the difference is principled, not an oversight in the drafting. In 0044.4's stream mode K1 is the keystream and its length is the message length, so an all-zero K1 gives C2 = M xor 0 = M, and at a one-byte message that is a 1-in-256 event: 993 decryption attempts with a one-byte C2, a random valid C1 and a garbage C3 hit the branch three times, so it is reachable by anyone who can send a ciphertext and holds no secrets. SK here is negotiated key material the protocol never XORs with, and its length is the caller's klenBits rather than a message length, so neither the consequence nor the rate carries over. Comment only - no behavioural change. Adding the check would be strictness 0044.3 does not impose on a conformance-sensitive protocol path, and would suggest one uniform rule where the standard has two. More... 3 months ago
Update README with current release version, tls-klog, pgsc, jmail and mls modules More... 3 months ago
reject an all-zero K' on decapsulation, as GM/T 0044.4 requires More... 3 months ago
Add JCA regeneration of SM9 user private keys through KeyFactory.SM9 via the new SM9SigUserPrivateKeySpec / SM9EncUserPrivateKeySpec (a user key's PKCS#8 encoding alone cannot rebuild a usable key, needing the master public key and identity, plus the hid for encryption), store the identity on SM9SigPrivateKeyParameters (generated by SM9SigMasterPrivateKeyParameters.generateUserKey, unreleased this cycle so fromEncoded's signature changes freely) to match the encryption side, expose the identity and, on public keys, the master public key directly from the four SM9 user-key JCA types via new SM9SigUserPrivateKey / SM9SigUserPublicKey / SM9EncUserPrivateKey / SM9EncUserPublicKey capability interfaces so callers no longer track that context alongside the key, and add SM9SigKeyEncodingExample / SM9EncKeyEncodingExample under misc demonstrating generation, encoding and regeneration of both key families through the JCA layer. More... 3 months ago
Merge branch 'main' of gitlab.cryptoworkshop.com:root/bc-java More... 3 months ago
Assign r the unreduced N-octet Jx in ECCSI signing as RFC 6507 sec. 5.2.1 defines it, reducing it into the order arithmetic at its point of use, size N by the larger of the field and order bit lengths since sec. 2 sizes it by the prime p, guard the signer's two secret-scalar point multiplications with a multiplySecret rule in ConstantTimeUsageTest, and cover the unreduced r with a curve25519 regression test. More... 3 months ago
ound the K1 length SM9Engine derives in stream mode More... 3 months ago
Trim the AlgorithmIdentifierFinder javadoc to the contract it imposes, dropping the hand-written implementor list javadoc generates anyway, and document the throws and the null returns on the methods they belong to. More... 3 months ago
Report an unknown digest name from DefaultDigestAlgorithmIdentifierFinder.find with an IllegalArgumentException rather than null, leaving the AlgorithmIdentifier and OID overloads alone so the github #1767 null contract holds, bring DigestAlgorithmIdentifierFinder back under AlgorithmIdentifierFinder now its name lookup matches that contract, keep the est HttpAuth IOException path over the new exception, look the digest hasAlgorithm up in the name table rather than the OID-keyed map, and add an invalidAlgorithmParameterException factory to SecurityExceptions. More... 3 months ago
Add hasAlgorithm(String) to KemAlgorithmIdentifierFinder and to DefaultSignatureAlgorithmIdentifierFinder, the latter on the implementation only since the interface is long published, narrow the AlgorithmIdentifierFinder hierarchy to the signature and KEM finders whose find contract actually matches, and fold case in DefaultDigestAlgorithmIdentifierFinder's digest name lookup. More... 3 months ago
Add KemAlgorithmIdentifierFinder and DefaultKemAlgorithmIdentifierFinder for the name-to-AlgorithmIdentifier direction on KEMs, introduce AlgorithmIdentifierFinder as the shared find(String) parent of the signature, digest, MAC and KEM finders, and restrict the Classic McEliece names to the sets ISO has published as the pre-standard arc is to be phased out. More... 3 months ago
Updated to reflect latest openpgp.api addition More... 3 months ago
Merge branch 'pgpainless-smartcard_2' More... 3 months ago
Rework the JCE smart-card support merged from github #2374: restore the release.debug compile switch, single-source the PKESK parsing checks in AbstractPublicKeyDataDecryptorFactory for all the public-key data decryptor factories, carry the external-key session recovery flow in a stack-neutral base class in the new org.bouncycastle.openpgp.api.operator package with the lightweight and JCE external factories in its bc and jcajce subpackages, route the JCE factory's KDF, key unwrap and data decryptors through the configured provider, validate the curve and convert the ephemeral key before fetching the card PIN in the Yubikey callbacks, allow a provider to be passed to the JCE Yubikey decryptor factory provider, and cover the JCE external factory with a software-callback round-trip and malformed-packet regression test, relates to github #2374. More... 3 months ago