- new ROUTER_SIGNED_SU3 UpdateType
- Add support for torrent and HTTP
- Refactor UpdateRunners to return actual UpdateType
- Deal with signed/su3 conflicts
- unpack/verify stubbed only
- SU3File better arg processing, implement content type arg
- Type checking of Java private key vs. type when signing
- Add unknown content type, make default
Specify RSA parameters
Add RSA sig types
Specify cert signature algorithm when generating keys
Extend keygen max wait
Catch NPE if sign fails in SU3File
Fix signature conversion for RSA
Fix public key conversion for RSA
- enum for content type
- fix NPE if private key not found
- use certs instead of public keys for verification
- improve validate-without-extract
- new extract command
Consolidate KeyStore code from SSLEepGet, I2CPSSLSocketFactory,
SSLClientListenerRunner, and RouterConsoleRunner into new
KeyStoreUtil and CertUtil classes in net.i2p.crypto (ticket #744)
- KeyGenerator: Measure sign and verify separately in test
- SU3File: Start to support other SigTypes
- SigType: Add getHashInstance(), fix hash length for ECDSA_SHA256_P192
- SHA1Hash: Add no-arg constructor
Rebuild router identity if key length doesn't match setting.
This affects RI and LS encryption keys, and DH and YK.
Faster = 64 bit with working jbigi, non-ARM, non-GNU (for now)
Override default with crypto.elGamal.useLongKey=true/false
LS key is built at client startup (Dest key unused)
This will churn most of the RIs at the release.
* SystemVersion: Add isARM()
- Add ECConstants which looks for named curves and falls back to
explicitly defining the curves
- Add SigUtil with converters from Java formats (ASN.1, X.509,
PKCS#8) to I2P formats for Signatures and SigningKeys
- Move ASN.1 converter from DSAEngine to SigUtil, generalize
for variable length, add support for longer sequences,
add more sanity checks, add more exceptions
- Attempt to add BC as a Provider
- Add parameters (curve specs) to SigTypes
- Add support for ECDSA to DSAEngine and KeyGenerator
- Add KeyGenerator main() tests
- More javadocs
All is Java 1.5 compatible but the actual algorithms, curves,
and other support aren't necessarily present in any JVM.
Todo: More tests, more fallbacks for various JVMs
- Prep for new signature algorithms; new SigType enum;
Signature, SigningPublicKey, SigningPrivateKey store type
- New Hash384 and Hash512 classes
- Remove length field in SimpleDataStructure
- New SU3File generator/verifier/extractor