[ext/openssl] Create Digest by OID
Currently it is not possible to create a Digest instance by using
the OID instead of the name (sn or ln).
oid = OpenSSL::ASN1::ObjectId.new('SHA1')
digest = OpenSSL::ASN1::Digest.new(oid.oid)
=> Unsupported digest algorithm (22.214.171.124.2.26).
This is counter-intuitive, since the only thing that is always
available in the case of object identifiers is the numeric oid,
sn or ln are not always present. Since sn and ln are also quite
error-prone (spelling), I'd like to suggest to have all three possibilities
for instantiating a Digest: by sn, by ln and by oid.
I included a patch and a test to support this behaviour.
#3 Updated by Anonymous about 5 years ago
- Status changed from Assigned to Closed
- % Done changed from 0 to 100
This issue was solved with changeset r32040.
Martin, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
- ext/openssl/ossl_digest.c: allow Digests to be created by sn, ln or oid.
- test/openssl/test_digest.rb: add tests for this. [Ruby 1.9 - Feature #4412]