Class ClientAttributeCertificateResource


  • public class ClientAttributeCertificateResource
    extends Object
    Version:
    $Revision: 1 $
    Author:
    Bill Burke
    • Field Detail

      • realm

        protected org.keycloak.models.RealmModel realm
      • client

        protected org.keycloak.models.ClientModel client
      • session

        protected org.keycloak.models.KeycloakSession session
      • attributePrefix

        protected String attributePrefix
    • Constructor Detail

      • ClientAttributeCertificateResource

        public ClientAttributeCertificateResource​(org.keycloak.models.RealmModel realm,
                                                  AdminPermissionEvaluator auth,
                                                  org.keycloak.models.ClientModel client,
                                                  org.keycloak.models.KeycloakSession session,
                                                  String attributePrefix,
                                                  AdminEventBuilder adminEvent)
    • Method Detail

      • getKeyInfo

        @GET
        @Produces("application/json")
        public org.keycloak.representations.idm.CertificateRepresentation getKeyInfo()
        Get key info
        Returns:
      • generate

        @POST
        @Path("generate")
        @Produces("application/json")
        public org.keycloak.representations.idm.CertificateRepresentation generate()
        Generate a new certificate with new key pair
        Returns:
      • uploadJks

        @POST
        @Path("upload")
        @Consumes("multipart/form-data")
        @Produces("application/json")
        public org.keycloak.representations.idm.CertificateRepresentation uploadJks​(org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput input)
                                                                             throws IOException
        Upload certificate and eventually private key
        Parameters:
        input -
        Returns:
        Throws:
        IOException
      • uploadJksCertificate

        @POST
        @Path("upload-certificate")
        @Consumes("multipart/form-data")
        @Produces("application/json")
        public org.keycloak.representations.idm.CertificateRepresentation uploadJksCertificate​(org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput input)
                                                                                        throws IOException
        Upload only certificate, not private key
        Parameters:
        input -
        Returns:
        information extracted from uploaded certificate - not necessarily the new state of certificate on the server
        Throws:
        IOException
      • getKeystore

        @POST
        @Path("/download")
        @Produces("application/octet-stream")
        @Consumes("application/json")
        public byte[] getKeystore​(org.keycloak.representations.KeyStoreConfig config)
        Get a keystore file for the client, containing private key and public certificate
        Parameters:
        config - Keystore configuration as JSON
        Returns:
      • generateAndGetKeystore

        @POST
        @Path("/generate-and-download")
        @Produces("application/octet-stream")
        @Consumes("application/json")
        public byte[] generateAndGetKeystore​(org.keycloak.representations.KeyStoreConfig config)
        Generate a new keypair and certificate, and get the private key file Generates a keypair and certificate and serves the private key in a specified keystore format. Only generated public certificate is saved in Keycloak DB - the private key is not.
        Parameters:
        config - Keystore configuration as JSON
        Returns: