コード例 #1
0
ファイル: X509CRL.java プロジェクト: nahi/jruby-ossl-ext
 @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());
 }