2.005 2023-01-09T11:29:36Z
2.001 2018-12-14T10:22:00Z
- Bump version to work around string sorting (i.e. "1.11" < "1.9")
1.11 2018-12-13T09:50:03Z
- Change log entry for the next version
1.10 2018-03-04T15:02:26Z
- fix cpan prereqs
1.9 2018-03-03T14:16:54Z
- Accept trailing whitespace after header line
- Convert build process to Minilla
- Add license to code file; fix Kwalitee
1.8002_01
- Filter OpenSSL's 'WARNING: can't open config file' messages.
- Add dieOnError option to new()
- Report undefined $csr gracefully
- API v0 tests should not try to verify a signature.
- new() in void context will generate an exception.
1.8002
- Cosmetic: wrap long form OpenSSL config in test
- Make RSA, DSA and ECC support optional. Warn during install none are present or any don't work.
- Signature verification requires the corresponding module, as does decoding ECC public keys.
- subjectPublicKeyParams and checkSignature set error() for unsupported key type or hash.
- Clean up carp/croak, especially where crept into evals.
- Provide instance method for error.
- Fix stringify's interactions with API v0.
- Add binaryMode and PEMonly options to provide finer grained control of formats
1.8001
- Makefile.pl: Diagnose old OpenSSL versions that fail signature verification and discard automated tests in that case.
- Print full OpenSSL configuration during automated testing.
- Require CryptX with version fix.
- Silence test warning if openssl command is missing.
- No changes to functional code.
1.8
- When returning PEM, ensure max line width of 64 to satisfy RFC 7468, not 76 of MIME.
- Fix test failures on some editions of 5.8.8 due to Perl bug 39185. (Tripped in test, not module.)
1.7_01
- Address CPANTS failures due to bugs in old versions of Crypt::PK::ECC
- Add explicit version dependency for CryptX, the parent distribution.
- For insurance, add explicit version requirements for the other modules we depend on.
- Add getAPIversion
- Make stringify use an overloadable method so it can be extended if subclassed.
- Correctly parse DER for expected length when removing padding.
1.7
- ECC test doesn't require Data::Dumper
- Support more EC OIDs
- Add DSA OIDs
- Add subjectPublicKeyParams(), which provides some description of the key
- Add certificationRequest and signature(1) to enable verification of CSR signatures
- Add signatureParams()
- Add signature(2) to extract ECDSA signature components.
- Fix and extend registerOID, add tests.
- Add examples/ directory with sample code
- Verify signature of CSRs in new() by default. Add checkSignature().
- Optionally allow invalid base64 character in PEM data.
- Allow new() from filename and options from hashref.
1.6
- Support some EC OIDs
1.5
- Uncoordinated release of 1.4_04
1.4_05
- Sign distribution kits
- Remove execute permissions from text files
- Generate Markdown format README for github
- Use Pod::Weaver to manage authorship, copyright from dist.ini
- Add prerequisites display test
- Validate with perlcritic, pod syntax
1.4_04
- Build Kwalitee issues: Minimum Perl version, Repo location, and Provides in META
- Fix test issues due to hash randomization on newer Perl versions.
1.4_03
- certificateTemplate ASN correction: MajorVersion is optional
- certificateTemplate returns id as a name if OID registered (API V1)
- handle some malformed requests better
- decode more M$ attributes, correct some.
- Don't croak() on missing attributes
- Convert BMPStrings from UCS2 to Perl (printable) strings
- Rework special OID handling to be scalable & cover attributes
- Don't croak in new. (API V1) Always return undef. Class method error() returns detail.
- Return reasonable strings from attributes('name') and extensionValue('name',1)
- Overload object so print can produce a useful dump.
- Handle null subject
- More enhanced key usage OIDs
- keyUsage returns array rather than comma separated string (API v1)
- Cleaned up POD
- Do a better job with error reporting
- Validate PEM's Base64 encoding.
- Ensure that only the first PEM certificate is extracted.
- Improve tests
- Enable (internal) custom formatters for extensions and attributes.
- Return basicConstraints as a hash
- Accept numeric OIDs as arguments to extensionValue, extensionPresent and attributes.
1.4_02
- For API V1, omit space in key usage list
- Look for policy identifier names in all tables
- Decode certificatePolicyIdentifier, add related OIDs
- Avoid building un-necessary ASN.1 parsers
- Fully decode ApplicationCertPolicies for API V1
- Check enhanced key usage before registering OID
- Add name2oid to API
- Internal cleanup & error reporting improvements
1.4_01 2016-01-14
- Find PEM anywhere
- Support repeated attributes
- Various crashes, internal optimizations
- More OIDs
- Access methods: subject, subjectAltName, extensions
- Generate access methods for unknown OIDs in DNs at runtime
- Add extractCSR method to get CSR in binary or PEM
- subjectPublicKey option to extract in PEM format
- Convert IP addresses to strings
- Convert basicConstraints to string
- Add registerOID to allow extraction of simple custom OIDs
- More tests
- Improve documentation
- Add setAPIversion, regularize OID names in V1
- For API V1, attributes method returns names or values of attributes (except extensions)
- Improve build: Use Dist::Zilla, autogenerate README,LICENE,META,Makefile.PL
- Generate & ship Commitlog from git
1.3 2015-11-17
- Experimental Perl features removed
- Refactored building process
1.2 2015-11-13
- Add generic method extensionValue
- Ommit unknown or damaged extensions
1.1 2015-10-09
- Allow same OID elements in RDNs
- Support for all DirectoryStrings
- New accessor method: organizationName
1.0 2014-08-20
- Initial Version
__END__