summaryrefslogtreecommitdiffstats
path: root/pki/base/util/test/com/netscape/security/util/JSSUtil.java
diff options
context:
space:
mode:
authorEndi Sukma Dewata <edewata@redhat.com>2012-01-04 21:43:21 -0600
committerEndi Sukma Dewata <edewata@redhat.com>2012-01-10 20:23:18 -0600
commitcd661cb7b0448cb95f1402dc3feb1457949e0383 (patch)
tree2be422350bf98e78b446602f7d1f0a30d3e6d31b /pki/base/util/test/com/netscape/security/util/JSSUtil.java
parent58a343b58fb44c93579338b79eaf37089c753d19 (diff)
downloadpki-cd661cb7b0448cb95f1402dc3feb1457949e0383.tar.gz
pki-cd661cb7b0448cb95f1402dc3feb1457949e0383.tar.xz
pki-cd661cb7b0448cb95f1402dc3feb1457949e0383.zip
Added unit tests to measure conversion time.
New tests have been added to measure the conversion time. Currently the results are not validated, they are used to compare the performance before and after upgrading to Charset. Ticket #3
Diffstat (limited to 'pki/base/util/test/com/netscape/security/util/JSSUtil.java')
-rw-r--r--pki/base/util/test/com/netscape/security/util/JSSUtil.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/pki/base/util/test/com/netscape/security/util/JSSUtil.java b/pki/base/util/test/com/netscape/security/util/JSSUtil.java
index abaab427..fc899d56 100644
--- a/pki/base/util/test/com/netscape/security/util/JSSUtil.java
+++ b/pki/base/util/test/com/netscape/security/util/JSSUtil.java
@@ -2,11 +2,13 @@ package com.netscape.security.util;
import netscape.security.util.DerValue;
+import org.mozilla.jss.asn1.ASN1Template;
import org.mozilla.jss.asn1.ASN1Util;
import org.mozilla.jss.asn1.ASN1Value;
import org.mozilla.jss.asn1.BMPString;
import org.mozilla.jss.asn1.IA5String;
import org.mozilla.jss.asn1.PrintableString;
+import org.mozilla.jss.asn1.Tag;
import org.mozilla.jss.asn1.TeletexString;
import org.mozilla.jss.asn1.UTF8String;
import org.mozilla.jss.asn1.UniversalString;
@@ -40,4 +42,32 @@ public class JSSUtil {
}
return ASN1Util.encode(value);
}
+
+ public static String decode(byte tag, byte[] bytes) throws Exception {
+ ASN1Template template;
+
+ switch (tag) {
+ case DerValue.tag_BMPString:
+ template = new BMPString.Template();
+ break;
+ case DerValue.tag_IA5String:
+ template = new IA5String.Template();
+ break;
+ case DerValue.tag_PrintableString:
+ template = new PrintableString.Template();
+ break;
+ case DerValue.tag_T61String:
+ template = new TeletexString.Template();
+ break;
+ case DerValue.tag_UniversalString:
+ template = new UniversalString.Template();
+ break;
+ case DerValue.tag_UTF8String:
+ template = new UTF8String.Template();
+ break;
+ default:
+ throw new Exception("Unsupported tag: "+tag);
+ }
+ return ASN1Util.decode(new Tag(Tag.UNIVERSAL, tag), template, bytes).toString();
+ }
}