summaryrefslogtreecommitdiffstats
path: root/pki/base/util/src/com/netscape/cmsutil/ocsp/BasicOCSPResponse.java
diff options
context:
space:
mode:
Diffstat (limited to 'pki/base/util/src/com/netscape/cmsutil/ocsp/BasicOCSPResponse.java')
-rw-r--r--pki/base/util/src/com/netscape/cmsutil/ocsp/BasicOCSPResponse.java155
1 files changed, 68 insertions, 87 deletions
diff --git a/pki/base/util/src/com/netscape/cmsutil/ocsp/BasicOCSPResponse.java b/pki/base/util/src/com/netscape/cmsutil/ocsp/BasicOCSPResponse.java
index f6306b78..bdb9188e 100644
--- a/pki/base/util/src/com/netscape/cmsutil/ocsp/BasicOCSPResponse.java
+++ b/pki/base/util/src/com/netscape/cmsutil/ocsp/BasicOCSPResponse.java
@@ -35,7 +35,7 @@ import org.mozilla.jss.pkix.primitive.AlgorithmIdentifier;
/**
* RFC 2560:
- *
+ *
* <pre>
* BasicOCSPResponse ::= SEQUENCE {
* tbsResponseData ResponseData,
@@ -43,11 +43,10 @@ import org.mozilla.jss.pkix.primitive.AlgorithmIdentifier;
* signature BIT STRING,
* certs [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL }
* </pre>
- *
+ *
* @version $Revision$ $Date$
*/
-public class BasicOCSPResponse implements Response
-{
+public class BasicOCSPResponse implements Response {
private byte mData[] = null;
private ResponseData _rd = null;
private AlgorithmIdentifier _signAlg = null;
@@ -55,47 +54,43 @@ public class BasicOCSPResponse implements Response
private Certificate _certs[] = null;
public BasicOCSPResponse(ResponseData rd, AlgorithmIdentifier signAlg,
- BIT_STRING signature, Certificate certs[])
- {
+ BIT_STRING signature, Certificate certs[]) {
_rd = rd;
_signAlg = signAlg;
_signature = signature;
_certs = certs;
}
- public BasicOCSPResponse(OCTET_STRING os)
- {
+ public BasicOCSPResponse(OCTET_STRING os) {
this(os.toByteArray());
}
- public BasicOCSPResponse(byte data[])
- {
+ public BasicOCSPResponse(byte data[]) {
mData = data;
// extract _rd, _signAlg, _signature and _certs
try {
- BasicOCSPResponse resp = (BasicOCSPResponse) getTemplate().decode(new ByteArrayInputStream(data));
+ BasicOCSPResponse resp = (BasicOCSPResponse) getTemplate().decode(
+ new ByteArrayInputStream(data));
_rd = resp.getResponseData();
_signAlg = resp.getSignatureAlgorithm();
_signature = resp.getSignature();
_certs = resp.getCerts();
- } catch (Exception e) {
+ } catch (Exception e) {
// exception in decoding byte data
- }
+ }
}
private static final Tag TAG = SEQUENCE.TAG;
- public Tag getTag()
- {
+ public Tag getTag() {
return TAG;
}
- public void encode(Tag t, OutputStream os) throws IOException
- {
- if (mData != null) {
- os.write(mData);
- } else {
+ public void encode(Tag t, OutputStream os) throws IOException {
+ if (mData != null) {
+ os.write(mData);
+ } else {
SEQUENCE seq = new SEQUENCE();
seq.addElement(_rd);
seq.addElement(_signAlg);
@@ -105,50 +100,42 @@ public class BasicOCSPResponse implements Response
for (Certificate c : _certs) {
certsSeq.addElement(c);
}
- EXPLICIT certsExplicit = new EXPLICIT(new Tag(0),certsSeq);
+ EXPLICIT certsExplicit = new EXPLICIT(new Tag(0), certsSeq);
seq.addElement(certsExplicit);
}
- seq.encode(t,os);
- }
+ seq.encode(t, os);
+ }
}
- public void encode(OutputStream os) throws IOException
- {
+ public void encode(OutputStream os) throws IOException {
encode(TAG, os);
}
- public OCTET_STRING getBytes()
- {
+ public OCTET_STRING getBytes() {
return null;
}
- public ResponseData getResponseData()
- {
+ public ResponseData getResponseData() {
return _rd;
}
- public AlgorithmIdentifier getSignatureAlgorithm()
- {
+ public AlgorithmIdentifier getSignatureAlgorithm() {
return _signAlg;
}
- public BIT_STRING getSignature()
- {
+ public BIT_STRING getSignature() {
return _signature;
}
- public int getCertsCount()
- {
+ public int getCertsCount() {
return (_certs != null) ? _certs.length : 0;
}
- public Certificate[] getCerts()
- {
- return _certs;
+ public Certificate[] getCerts() {
+ return _certs;
}
- public Certificate getCertificateAt(int pos)
- {
+ public Certificate getCertificateAt(int pos) {
return (_certs != null) ? _certs[pos] : null;
}
@@ -161,54 +148,48 @@ public class BasicOCSPResponse implements Response
/**
* A Template for decoding <code>ResponseBytes</code>.
*/
- public static class Template implements ASN1Template
- {
+ public static class Template implements ASN1Template {
private SEQUENCE.Template seqt;
- public Template()
- {
- seqt = new SEQUENCE.Template();
- seqt.addElement( ResponseData.getTemplate() );
- seqt.addElement( AlgorithmIdentifier.getTemplate() );
- seqt.addElement( BIT_STRING.getTemplate() );
- seqt.addOptionalElement( new EXPLICIT.Template(
- new Tag(0), new SEQUENCE.OF_Template(
- Certificate.getTemplate())) );
- }
-
- public boolean tagMatch(Tag tag)
- {
- return TAG.equals(tag);
- }
-
- public ASN1Value decode(InputStream istream)
- throws InvalidBERException, IOException
- {
- return decode(TAG, istream);
- }
-
- public ASN1Value decode(Tag implicitTag, InputStream istream)
- throws InvalidBERException, IOException
- {
- SEQUENCE seq = (SEQUENCE) seqt.decode(implicitTag, istream);
-
- ResponseData rd = (ResponseData)seq.elementAt(0);
- AlgorithmIdentifier alg = (AlgorithmIdentifier)seq.elementAt(1);
- BIT_STRING bs = (BIT_STRING)seq.elementAt(2);
- Certificate[] certs = null;
- if (seq.size() == 4) {
- // optional certificates are present
- EXPLICIT certSeqExplicit = (EXPLICIT) seq.elementAt(3);
- SEQUENCE certSeq = (SEQUENCE) certSeqExplicit.getContent();
- if (certSeq != null) {
- certs = new Certificate[certSeq.size()];
- for (int x = 0; x < certSeq.size(); x++) {
- certs[x] = (Certificate) certSeq.elementAt(x);
- }
- }
- }
-
- return new BasicOCSPResponse(rd, alg, bs, certs);
- }
+ public Template() {
+ seqt = new SEQUENCE.Template();
+ seqt.addElement(ResponseData.getTemplate());
+ seqt.addElement(AlgorithmIdentifier.getTemplate());
+ seqt.addElement(BIT_STRING.getTemplate());
+ seqt.addOptionalElement(new EXPLICIT.Template(new Tag(0),
+ new SEQUENCE.OF_Template(Certificate.getTemplate())));
+ }
+
+ public boolean tagMatch(Tag tag) {
+ return TAG.equals(tag);
+ }
+
+ public ASN1Value decode(InputStream istream)
+ throws InvalidBERException, IOException {
+ return decode(TAG, istream);
+ }
+
+ public ASN1Value decode(Tag implicitTag, InputStream istream)
+ throws InvalidBERException, IOException {
+ SEQUENCE seq = (SEQUENCE) seqt.decode(implicitTag, istream);
+
+ ResponseData rd = (ResponseData) seq.elementAt(0);
+ AlgorithmIdentifier alg = (AlgorithmIdentifier) seq.elementAt(1);
+ BIT_STRING bs = (BIT_STRING) seq.elementAt(2);
+ Certificate[] certs = null;
+ if (seq.size() == 4) {
+ // optional certificates are present
+ EXPLICIT certSeqExplicit = (EXPLICIT) seq.elementAt(3);
+ SEQUENCE certSeq = (SEQUENCE) certSeqExplicit.getContent();
+ if (certSeq != null) {
+ certs = new Certificate[certSeq.size()];
+ for (int x = 0; x < certSeq.size(); x++) {
+ certs[x] = (Certificate) certSeq.elementAt(x);
+ }
+ }
+ }
+
+ return new BasicOCSPResponse(rd, alg, bs, certs);
+ }
}
}