[ext/openssl] Object equality for objects based on ASN.1 structures
Equality behaviour is not overridden by any of the classes that base on ASN.1 structures. This leads to
counterintuitive things such as
require 'openssl' key = OpenSSL::PKey::RSA.new 256 puts [key].include?(key) # => true key2 = OpenSSL::PKey.read key.to_pem puts key == key2 # => false puts [key].include?(key2) # => false
That's why I'd like to suggest to determine equality for these objects on the encoding level, i.e.
two such objects are equal iff obj1.to_der == obj2.to_der.