GetPropertyAction getProp = new GetPropertyAction("line.separator"); String nl = (String) AccessController.doPrivileged(getProp);
String nl = SystemProperties.getProperty("line.separator");
  public String toString()  {    StringBuffer str = new StringBuffer(X509CertSelector.class.getName());    GetPropertyAction getProp = new GetPropertyAction("line.separator");    String nl = (String) AccessController.doPrivileged(getProp);    String eol = ";" + nl;    str.append(" {").append(nl);    if (cert != null)      str.append("  certificate = ").append(cert).append(eol);    if (basicConstraints >= 0)      str.append("  basic constraints = ").append(basicConstraints).append(eol);    if (serialNo != null)      str.append("  serial number = ").append(serialNo).append(eol);    if (certValid != null)      str.append("  valid date = ").append(certValid).append(eol);    if (issuer != null)      str.append("  issuer = ").append(issuer).append(eol);    if (subject != null)      str.append("  subject = ").append(subject).append(eol);    if (sigId != null)      str.append("  signature OID = ").append(sigId).append(eol);    if (subjectKey != null)      str.append("  subject public key = ").append(subjectKey).append(eol);    if (subjectKeyId != null)      {        str.append("  subject key ID = ");        for (int i = 0; i < subjectKeyId.length; i++)          {            str.append(Character.forDigit((subjectKeyId[i] & 0xF0) >>> 8, 16));            str.append(Character.forDigit((subjectKeyId[i] & 0x0F), 16));            if (i < subjectKeyId.length - 1)              str.append(':');          }        str.append(eol);      }    if (authKeyId != null)      {        str.append("  authority key ID = ");        for (int i = 0; i < authKeyId.length; i++)          {            str.append(Character.forDigit((authKeyId[i] & 0xF0) >>> 8, 16));            str.append(Character.forDigit((authKeyId[i] & 0x0F), 16));            if (i < authKeyId.length - 1)              str.append(':');          }        str.append(eol);      }    if (keyUsage != null)      {        str.append("  key usage = ");        for (int i = 0; i < keyUsage.length; i++)          str.append(keyUsage[i] ? '1' : '0');        str.append(eol);      }    if (keyPurposeSet != null)      str.append("  key purpose = ").append(keyPurposeSet).append(eol);    if (altNames != null)      str.append("  alternative names = ").append(altNames).append(eol);    if (nameConstraints != null)      str.append("  name constraints = <blob of data>").append(eol);    str.append("}").append(nl);    return str.toString();  }