1 7 8 package java.security.cert; 9 10 import java.io.IOException ; 11 12 import sun.misc.HexDumpEncoder; 13 import sun.security.util.DerValue; 14 15 68 public class PolicyQualifierInfo { 69 70 private byte [] mEncoded; 71 private String mId; 72 private byte [] mData; 73 private String pqiString; 74 75 83 public PolicyQualifierInfo(byte[] encoded) throws IOException { 84 mEncoded = (byte[]) encoded.clone(); 85 86 DerValue val = new DerValue(mEncoded); 87 if (val.tag != DerValue.tag_Sequence) 88 throw new IOException ("Invalid encoding for PolicyQualifierInfo"); 89 90 mId = (val.data.getDerValue()).getOID().toString(); 91 byte [] tmp = val.data.toByteArray(); 92 if (tmp == null) { 93 mData = null; 94 } else { 95 mData = new byte[tmp.length]; 96 System.arraycopy(tmp, 0, mData, 0, tmp.length); 97 } 98 } 99 100 108 public final String getPolicyQualifierId() { 109 return mId; 110 } 111 112 120 public final byte[] getEncoded() { 121 return (byte[]) mEncoded.clone(); 122 } 123 124 132 public final byte[] getPolicyQualifier() { 133 return (mData == null ? null : (byte[]) mData.clone()); 134 } 135 136 143 public String toString() { 144 if (pqiString != null) 145 return pqiString; 146 HexDumpEncoder enc = new HexDumpEncoder(); 147 StringBuffer sb = new StringBuffer (); 148 sb.append("PolicyQualifierInfo: [\n"); 149 sb.append(" qualifierID: " + mId + "\n"); 150 sb.append(" qualifier: " + 151 (mData == null ? "null" : enc.encodeBuffer(mData)) + "\n"); 152 sb.append("]"); 153 pqiString = sb.toString(); 154 return pqiString; 155 } 156 } 157 | Popular Tags |