<div dir="ltr"><pre style="background-color:rgb(255,255,255);color:rgb(0,0,0);font-family:"DejaVu Sans Mono"">I try to revoke certificate from code I got exception with info about nonce.<span style="color:rgb(0,0,128);font-weight:bold"><br></span></pre><pre style="background-color:rgb(255,255,255);color:rgb(0,0,0);font-family:"DejaVu Sans Mono""><span style="color:rgb(0,0,128);font-weight:bold"></span></pre><blockquote><span style="color:rgb(0,0,128);font-weight:bold">public void </span>revokeAndApprove(<span style="color:rgb(0,0,128);font-weight:bold">int </span>certificateId) {<br><br>    CertId certId = <span style="color:rgb(0,0,128);font-weight:bold">new </span>CertId(certificateId);<br>    <span style="color:rgb(0,0,128);font-weight:bold">long </span>nonce = <span style="color:rgb(0,0,128);font-weight:bold">new </span>Random().nextLong();<br>    CertRevokeRequest revokeRequest = <span style="color:rgb(0,0,128);font-weight:bold">new </span>CertRevokeRequest();<br>    revokeRequest.setReason(RevocationReason.<span style="color:rgb(102,14,122);font-weight:bold;font-style:italic">KEY_COMPROMISE</span>);<br>    revokeRequest.setComments(<span style="color:rgb(0,128,0);font-weight:bold">"user request revoke"</span>);<br>    revokeRequest.setNonce(nonce);<br><br>    <b>CertRequestInfo revokeInfo = <span style="color:rgb(102,14,122)">certClient</span>.revokeCert(certId, revokeRequest);// here comes an exception</b><br><br>    CertReviewResponse reviewData = <span style="color:rgb(102,14,122);font-weight:bold">certClient</span>.reviewRequest(revokeInfo.getRequestId());<br>    reviewData.setNonce(<span style="color:rgb(0,128,0);font-weight:bold">""</span>+nonce);<br>    <span style="font-style:italic">log</span>(reviewData.toString());<br>    reviewData.setRequestNotes(<span style="color:rgb(0,128,0);font-weight:bold">"revoke approved"</span>);<br>    <span style="color:rgb(102,14,122);font-weight:bold">certClient</span>.approveRequest(reviewData.getRequestId(), reviewData);<br>}<br></blockquote><pre style="background-color:rgb(255,255,255);color:rgb(0,0,0);font-family:"DejaVu Sans Mono""><br></pre><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><pre style="background-color:rgb(255,255,255);color:rgb(0,0,0);font-family:"DejaVu Sans Mono"">when I use this I get exception on line(certClient.revokeCert(...))<br></pre></blockquote><blockquote><br>com.netscape.certsrv.base.BadRequestException: Nonce for cert-revoke 64 does not exist.<br>       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)<br>      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)<br>       at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)<br>       at java.lang.reflect.Constructor.newInstance(Constructor.java:422)<br>    at com.netscape.certsrv.client.PKIConnection.getEntity(PKIConnection.java:436)<br>        at com.netscape.certsrv.client.PKIClient.getEntity(PKIClient.java:112)<br>        at com.netscape.certsrv.cert.CertClient.revokeCert(CertClient.java:75)<br>        at com.company.CAManager.revokeAndApprove(CAManager.java:186)<br></blockquote><pre style="background-color:rgb(255,255,255);color:rgb(0,0,0);font-family:"DejaVu Sans Mono""><br></pre><pre style="background-color:rgb(255,255,255);color:rgb(0,0,0);font-family:"DejaVu Sans Mono"">and few other options I'v tried<br></pre><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><pre style="background-color:rgb(255,255,255);color:rgb(0,0,0);font-family:"DejaVu Sans Mono"">1. Long nonce = transportCert.getNonce(); // null</pre></blockquote><div></div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><pre style="background-color:rgb(255,255,255);color:rgb(0,0,0);font-family:"DejaVu Sans Mono"">2. Long nonce =<span style="color:rgb(102,14,122);font-weight:bold"> certClient</span>.getCert(certId).getNonce() //also a null<br></pre></blockquote><pre style="background-color:rgb(255,255,255);color:rgb(0,0,0);font-family:"DejaVu Sans Mono""><br></pre><pre style="background-color:rgb(255,255,255);color:rgb(0,0,0);font-family:"DejaVu Sans Mono"">puting null to setNonce, or not setting it at all give me:<br></pre><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">com.netscape.certsrv.base.BadRequestException: Missing nonce.<br>      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)<br>      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)<br>       at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)<br>       at java.lang.reflect.Constructor.newInstance(Constructor.java:422)<br>    at com.netscape.certsrv.client.PKIConnection.getEntity(PKIConnection.java:436)<br>        at com.netscape.certsrv.client.PKIClient.getEntity(PKIClient.java:112)<br>        at com.netscape.certsrv.cert.CertClient.revokeCert(CertClient.java:75)<br>        at com.company.CAManager.revokeAndApprove(CAManager.java:187)<br> at com.company.Main.main(Main.java:21)<br>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)<br>      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>      at java.lang.reflect.Method.invoke(Method.java:497)<br>   at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)<br></blockquote><pre style="background-color:rgb(255,255,255);color:rgb(0,0,0);font-family:"DejaVu Sans Mono""><br></pre><pre style="background-color:rgb(255,255,255);color:rgb(0,0,0);font-family:"DejaVu Sans Mono"">I check browser form from enduser entity and nonce value looks like this:"certId:someLongRandomNumber"<br></pre><pre style="background-color:rgb(255,255,255);color:rgb(0,0,0);font-family:"DejaVu Sans Mono"">Am I not understanding usage of nonce or something in my code is wrong?<br></pre></div>