@JRubyMethod public IRubyObject to_text() { StringBuffer sbe = new StringBuffer(); sbe.append("Certificate Revocation List (CRL):\n"); sbe.append(IND8).append("Version ").append(RubyNumeric.fix2int(version) + 1).append(" (0x"); sbe.append(Integer.toString(RubyNumeric.fix2int(version), 16)).append(")\n"); sbe.append(IND8) .append("Signature Algorithm: ") .append( ASN1.nid2ln( getRuntime(), ASN1.obj2nid( getRuntime(), ((DERObjectIdentifier) ((DERSequence) ((DERSequence) crl_v).getObjectAt(1)).getObjectAt(0))))) .append("\n"); sbe.append(IND8).append("Issuer: ").append(issuer()).append("\n"); sbe.append(IND8) .append("Last Update: ") .append(ASN_DATE.format(((RubyTime) last_update()).getJavaDate())) .append("\n"); if (!next_update().isNil()) { sbe.append(IND8) .append("Next Update: ") .append(ASN_DATE.format(((RubyTime) next_update()).getJavaDate())) .append("\n"); } else { sbe.append(IND8).append("Next Update: NONE\n"); } if (extensions.size() > 0) { sbe.append(IND8).append("CRL extensions\n"); for (Iterator<IRubyObject> iter = extensions.iterator(); iter.hasNext(); ) { X509Extensions.Extension ext = (X509Extensions.Extension) iter.next(); DERObjectIdentifier oiden = ext.getRealOid(); sbe.append(IND12).append(ASN1.o2a(getRuntime(), oiden)).append(": "); if (ext.getRealCritical()) { sbe.append("critical"); } sbe.append("\n"); sbe.append(IND16).append(ext.value()).append("\n"); } } /* 114 rev = X509_CRL_get_REVOKED(x); 115 116 if(sk_X509_REVOKED_num(rev) > 0) 117 BIO_printf(out, "Revoked Certificates:\n"); 118 else BIO_printf(out, "No Revoked Certificates.\n"); 119 120 for(i = 0; i < sk_X509_REVOKED_num(rev); i++) { 121 r = sk_X509_REVOKED_value(rev, i); 122 BIO_printf(out," Serial Number: "); 123 i2a_ASN1_INTEGER(out,r->serialNumber); 124 BIO_printf(out,"\n Revocation Date: "); 125 ASN1_TIME_print(out,r->revocationDate); 126 BIO_printf(out,"\n"); 127 X509V3_extensions_print(out, "CRL entry extensions", 128 r->extensions, 0, 8); 129 } 130 X509_signature_print(out, x->sig_alg, x->signature); 131 */ return getRuntime().newString(sbe.toString()); }