From c1aa8b2d05cb1873990d1a3e9cf007cca240f135 Mon Sep 17 00:00:00 2001 From: Endi Sukma Dewata Date: Thu, 25 Oct 2012 11:52:15 -0500 Subject: Enabled authentication for key services. The web.xml in KRA has been modified to enable the authentication for key and key request services. Some tools have been added to access the services via command-line. Ticket #376 --- .../com/netscape/certsrv/cert/CertRequestInfo.java | 75 ++++++++++++++++++++++ 1 file changed, 75 insertions(+) (limited to 'base/common/src/com/netscape/certsrv/cert/CertRequestInfo.java') diff --git a/base/common/src/com/netscape/certsrv/cert/CertRequestInfo.java b/base/common/src/com/netscape/certsrv/cert/CertRequestInfo.java index d11e94543..0d887a871 100644 --- a/base/common/src/com/netscape/certsrv/cert/CertRequestInfo.java +++ b/base/common/src/com/netscape/certsrv/cert/CertRequestInfo.java @@ -18,6 +18,12 @@ package com.netscape.certsrv.cert; +import java.io.StringReader; +import java.io.StringWriter; + +import javax.xml.bind.JAXBContext; +import javax.xml.bind.Marshaller; +import javax.xml.bind.Unmarshaller; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; @@ -25,6 +31,7 @@ import javax.xml.bind.annotation.XmlRootElement; import com.netscape.certsrv.dbs.certdb.CertId; import com.netscape.certsrv.request.CMSRequestInfo; +import com.netscape.certsrv.request.RequestStatus; @XmlRootElement(name = "CertRequestInfo") @XmlAccessorType(XmlAccessType.FIELD) @@ -82,4 +89,72 @@ public class CertRequestInfo extends CMSRequestInfo { return new CertId(id); } + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((certRequestType == null) ? 0 : certRequestType.hashCode()); + result = prime * result + ((certURL == null) ? 0 : certURL.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + CertRequestInfo other = (CertRequestInfo) obj; + if (certRequestType == null) { + if (other.certRequestType != null) + return false; + } else if (!certRequestType.equals(other.certRequestType)) + return false; + if (certURL == null) { + if (other.certURL != null) + return false; + } else if (!certURL.equals(other.certURL)) + return false; + return true; + } + + public String toString() { + try { + StringWriter sw = new StringWriter(); + Marshaller marshaller = JAXBContext.newInstance(CertRequestInfo.class).createMarshaller(); + marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); + marshaller.marshal(this, sw); + return sw.toString(); + + } catch (Exception e) { + return super.toString(); + } + } + + public static CertRequestInfo valueOf(String string) throws Exception { + try { + Unmarshaller unmarshaller = JAXBContext.newInstance(CertRequestInfo.class).createUnmarshaller(); + return (CertRequestInfo)unmarshaller.unmarshal(new StringReader(string)); + } catch (Exception e) { + return null; + } + } + + public static void main(String args[]) throws Exception { + + CertRequestInfo before = new CertRequestInfo(); + before.setRequestType("enrollment"); + before.setRequestStatus(RequestStatus.COMPLETE); + before.setCertRequestType("pkcs10"); + + String string = before.toString(); + System.out.println(string); + + CertRequestInfo after = CertRequestInfo.valueOf(string); + System.out.println(after); + + System.out.println(before.equals(after)); + } } -- cgit