I had this working in the model with different methods (getCommonName), but this seems to be the more RoR sort of way to do it, at least before I override find(). def list # The DB has only ID, CSR and X509 cert data (PEM formatted) @certificates = Certificate.find(:all) for certificate in @certificates x509 = OpenSSL::X509::Certificate.new(certificate.data) certificate.validFrom = x509.not_before certificate.validTo = x509.not_after certificate.certificateAuthority = x509.issuer.to_s.split('/').select { |item| item =~ /^CN=/ }.to_s.gsub(/^CN=/,'') certificate.commonName = x509.subject.to_s.split('/').select { |item| item =~ /^CN=/ }.to_s.gsub(/^CN=/,'') end # @certificate_pages, @certificates = paginate :certificates, :per_page => 10 end