Parse OpenSSH format public keys (ssh-rsa AAAA...) and return OpenSSL::PKey objects.
- Replace property assignment with ASN.1 DER construction
- Update
build_rsamethod to build ASN.1 sequence - Update
build_dsamethod to use SubjectPublicKeyInfo format - Test with Ruby 3.x / OpenSSL 3.x
- Update specs
- Ed25519 support (default for modern OpenSSH)
OpenSSL::PKey.new_raw_public_key('ED25519', raw_key_bytes)
- ECDSA support (ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2-nistp521)
- Keep RSA and DSA support
- Update gemspec dependencies
- bundler ~> 2.0
- rake ~> 13.0
- rspec ~> 3.12
- simplecov ~> 0.22
- base64 (runtime dependency for Ruby 3.4+)
- Add required Ruby version (>= 3.0)
- Add GitHub Actions workflow
- Update metadata URIs
- Support OpenSSH private key format (new format, not just PEM)
- Ed25519 and ECDSA private keys use new format by default
- Requires custom parser for
-----BEGIN OPENSSH PRIVATE KEY-----
- Add fingerprint generation (MD5, SHA256)
- Add key comment extraction
- Better error messages
| Type | Public Key | Private Key (PEM) | Private Key (OpenSSH) |
|---|---|---|---|
| RSA | ✅ | ✅ | ❌ |
| DSA | ✅ | ✅ | ❌ |
| Ed25519 | ✅ | N/A | ❌ (pending) |
| ECDSA | ✅ | ✅ | ❌ (pending) |