// Path: java-ca-lib/src/main/java/io/github/olivierlemasle/ca/CA.java
// public static RootCertificateBuilder createSelfSignedCertificate(
//     final DistinguishedName subject) {
//   return new RootCertificateBuilderImpl(subject);
// }
// 
// Path: java-ca-lib/src/main/java/io/github/olivierlemasle/ca/DistinguishedName.java
// public interface DistinguishedName {
// 
//   public X500Name getX500Name();
// 
//   public X500Principal getX500Principal();
// 
//   public byte[] getEncoded();
// 
//   public String getName();
// }
// 
// Path: java-ca-lib/src/main/java/io/github/olivierlemasle/ca/RootCertificate.java
// public interface RootCertificate extends CertificateWithPrivateKey {
// 
//   public Signer signCsr(final CSR request);
// 
// }
// 
// Path: ca-api/src/main/java/io/github/olivierlemasle/caweb/api/CertificateAuthority.java
// public class CertificateAuthority {
//   private RootCertificate caCertificate;
// 
//   public CertificateAuthority() {
//     // Jackson
//   }
// 
//   public CertificateAuthority(final RootCertificate caCertificate) {
//     this.caCertificate = caCertificate;
//   }
// 
//   @JsonIgnore
//   public RootCertificate getCaCertificate() {
//     return caCertificate;
//   }
// 
//   @JsonProperty
//   public DistinguishedName getSubject() {
//     return dn(caCertificate.getX509Certificate().getSubjectX500Principal());
//   }
// 
// }


import static io.github.olivierlemasle.ca.CA.createSelfSignedCertificate;
import java.util.ArrayList;
import java.util.List;
import javax.ws.rs.GET;
import javax.ws.rs.NotFoundException;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import com.codahale.metrics.annotation.Timed;
import io.github.olivierlemasle.ca.DistinguishedName;
import io.github.olivierlemasle.ca.RootCertificate;
import io.github.olivierlemasle.caweb.api.CertificateAuthority;
package io.github.olivierlemasle.caweb.resources;






@Path("/certificateAuthorities")
@Produces(MediaType.APPLICATION_JSON)
// Path: java-ca-lib/src/main/java/io/github/olivierlemasle/ca/CA.java
// public static RootCertificateBuilder createSelfSignedCertificate(
//     final DistinguishedName subject) {
//   return new RootCertificateBuilderImpl(subject);
// }
// 
// Path: java-ca-lib/src/main/java/io/github/olivierlemasle/ca/DistinguishedName.java
// public interface DistinguishedName {
// 
//   public X500Name getX500Name();
// 
//   public X500Principal getX500Principal();
// 
//   public byte[] getEncoded();
// 
//   public String getName();
// }
// 
// Path: java-ca-lib/src/main/java/io/github/olivierlemasle/ca/RootCertificate.java
// public interface RootCertificate extends CertificateWithPrivateKey {
// 
//   public Signer signCsr(final CSR request);
// 
// }
// 
// Path: ca-api/src/main/java/io/github/olivierlemasle/caweb/api/CertificateAuthority.java
// public class CertificateAuthority {
//   private RootCertificate caCertificate;
// 
//   public CertificateAuthority() {
//     // Jackson
//   }
// 
//   public CertificateAuthority(final RootCertificate caCertificate) {
//     this.caCertificate = caCertificate;
//   }
// 
//   @JsonIgnore
//   public RootCertificate getCaCertificate() {
//     return caCertificate;
//   }
// 
//   @JsonProperty
//   public DistinguishedName getSubject() {
//     return dn(caCertificate.getX509Certificate().getSubjectX500Principal());
//   }
// 
// }


// Path: ca-api/src/main/java/io/github/olivierlemasle/caweb/resources/CertificateAuthoritiesResource.java
import static io.github.olivierlemasle.ca.CA.createSelfSignedCertificate;
import java.util.ArrayList;
import java.util.List;
import javax.ws.rs.GET;
import javax.ws.rs.NotFoundException;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import com.codahale.metrics.annotation.Timed;
import io.github.olivierlemasle.ca.DistinguishedName;
import io.github.olivierlemasle.ca.RootCertificate;
import io.github.olivierlemasle.caweb.api.CertificateAuthority;

package io.github.olivierlemasle.caweb.resources;






@Path("/certificateAuthorities")
@Produces(MediaType.APPLICATION_JSON)
public class CertificateAuthoritiesResource {