diff options
Diffstat (limited to 'base/common/src/com/netscape/certsrv')
4 files changed, 45 insertions, 0 deletions
diff --git a/base/common/src/com/netscape/certsrv/cert/CertClient.java b/base/common/src/com/netscape/certsrv/cert/CertClient.java index da60ed085..d8fd34658 100644 --- a/base/common/src/com/netscape/certsrv/cert/CertClient.java +++ b/base/common/src/com/netscape/certsrv/cert/CertClient.java @@ -52,6 +52,10 @@ public class CertClient extends PKIClient { return certClient.getCert(id); } + public CertData reviewCert(CertId id) { + return certClient.reviewCert(id); + } + public CertDataInfos findCerts(CertSearchRequest data, Integer start, Integer size) { return certClient.searchCerts(data, start, size); } diff --git a/base/common/src/com/netscape/certsrv/cert/CertData.java b/base/common/src/com/netscape/certsrv/cert/CertData.java index 58f7fcd2c..1c75d8f7c 100644 --- a/base/common/src/com/netscape/certsrv/cert/CertData.java +++ b/base/common/src/com/netscape/certsrv/cert/CertData.java @@ -63,6 +63,7 @@ public class CertData { String notBefore; String notAfter; String status; + Long nonce; Link link; @@ -148,6 +149,15 @@ public class CertData { this.status = status; } + @XmlElement(name="Nonce") + public Long getNonce() { + return nonce; + } + + public void setNonce(Long nonce) { + this.nonce = nonce; + } + @XmlElement(name="Link") public Link getLink() { return link; @@ -163,6 +173,7 @@ public class CertData { int result = 1; result = prime * result + ((encoded == null) ? 0 : encoded.hashCode()); result = prime * result + ((issuerDN == null) ? 0 : issuerDN.hashCode()); + result = prime * result + ((nonce == null) ? 0 : nonce.hashCode()); result = prime * result + ((notAfter == null) ? 0 : notAfter.hashCode()); result = prime * result + ((notBefore == null) ? 0 : notBefore.hashCode()); result = prime * result + ((pkcs7CertChain == null) ? 0 : pkcs7CertChain.hashCode()); @@ -192,6 +203,11 @@ public class CertData { return false; } else if (!issuerDN.equals(other.issuerDN)) return false; + if (nonce == null) { + if (other.nonce != null) + return false; + } else if (!nonce.equals(other.nonce)) + return false; if (notAfter == null) { if (other.notAfter != null) return false; @@ -273,6 +289,7 @@ public class CertData { before.setIssuerDN("CN=Test User,UID=testuser,O=EXAMPLE-COM"); before.setSubjectDN("CN=Test User,UID=testuser,O=EXAMPLE-COM"); before.setEncoded(sw.toString()); + before.setNonce(12345l); String string = before.toString(); System.out.println(string); diff --git a/base/common/src/com/netscape/certsrv/cert/CertResource.java b/base/common/src/com/netscape/certsrv/cert/CertResource.java index 53e06ca6e..17395032d 100644 --- a/base/common/src/com/netscape/certsrv/cert/CertResource.java +++ b/base/common/src/com/netscape/certsrv/cert/CertResource.java @@ -41,6 +41,12 @@ public interface CertResource { @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) public CertData getCert(@PathParam("id") CertId id); + @GET + @Path("agent/certs/{id}") + @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) + @ACLMapping("agent.certs") + public CertData reviewCert(@PathParam("id") CertId id); + @POST @Path("agent/certs/{id}/revoke-ca") @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) diff --git a/base/common/src/com/netscape/certsrv/cert/CertRevokeRequest.java b/base/common/src/com/netscape/certsrv/cert/CertRevokeRequest.java index 7b86286ce..0fe0c4696 100644 --- a/base/common/src/com/netscape/certsrv/cert/CertRevokeRequest.java +++ b/base/common/src/com/netscape/certsrv/cert/CertRevokeRequest.java @@ -63,6 +63,7 @@ public class CertRevokeRequest { Date invalidityDate; String comments; String encoded; + Long nonce; @XmlElement(name="RequestID") @@ -118,6 +119,16 @@ public class CertRevokeRequest { this.encoded = encoded; } + @XmlElement(name="Nonce") + @FormParam("nonce") + public Long getNonce() { + return nonce; + } + + public void setNonce(Long nonce) { + this.nonce = nonce; + } + @Override public int hashCode() { final int prime = 31; @@ -125,6 +136,7 @@ public class CertRevokeRequest { result = prime * result + ((comments == null) ? 0 : comments.hashCode()); result = prime * result + ((encoded == null) ? 0 : encoded.hashCode()); result = prime * result + ((invalidityDate == null) ? 0 : invalidityDate.hashCode()); + result = prime * result + ((nonce == null) ? 0 : nonce.hashCode()); result = prime * result + ((reason == null) ? 0 : reason.hashCode()); result = prime * result + ((requestID == null) ? 0 : requestID.hashCode()); return result; @@ -154,6 +166,11 @@ public class CertRevokeRequest { return false; } else if (!invalidityDate.equals(other.invalidityDate)) return false; + if (nonce == null) { + if (other.nonce != null) + return false; + } else if (!nonce.equals(other.nonce)) + return false; if (reason == null) { if (other.reason != null) return false; @@ -194,6 +211,7 @@ public class CertRevokeRequest { before.setInvalidityDate(new Date()); before.setComments("test"); before.setEncoded("test"); + before.setNonce(12345l); String string = before.toString(); System.out.println(string); |