¿Cómo configurar el certificate de cliente de git para la authentication del cliente?

Tengo mi propio repository git corriendo bajo el muelle-9. Quiero saber cómo puedo configurar el certificate de cliente de git para que mi server de git (server de embarcadero) pueda recibir el certificate en request de servlet y pueda get el anuncio de certificate de cliente de git para realizar la authentication de cliente.

Siguiendo el command que estoy tratando de ejecutar,

> git -c http.sslcainfo=D:\jetty\punws-sohanba.sigmasys.net.crt -c http.sslCert=D:\jetty\curl-ca-bundle.crt clone "https://punws-sohanba.sigmasys.net:8443/git.ctr-0.0.1-SNAPSHOT/dashboard-portal/.git" 

Donde "punws-sohanba.sigmasys.net.crt" es mi certificate de server para que git-client acepte los certificates autofirmados.

curl-ca-bundle.crt es el git cert establecido en la configuration global de git y también explícitamente bash establecerlo a través de la command-line también. (No estoy seguro de hacerlo así). Este file curl-ca-bundle.crt también se importa a mi file server.jks como truststore.

En el server no puedo get los certificates cuando lo hago,

  X509Certificate[] certs = (X509Certificate[])req.getAttribute("javax.servlet.request.X509Certificate"); System.out.println("cert name from git client =========>> " + certs[0].getSubjectDN().getName()); //returns null-pointer here 

Doy el siguiente error en la command-line:

 fatal: unable to access 'https://punws-sohanba.sigmasys.net:8443/git.ctr-0.0.1-SNAPSHOT/dashboard-portal/.git/': unable to set private key file: 'D:\jetty\curl-ca-bundle.crt' type PEM 

Por favor recomiende.

Es bastante difícil leer líneas continuas de esta manera, y no está muy claro cómo intenta lograr la authentication con un package de CA como key privada (lo que no funcionará – CA es un certificate, no tiene un componente privado) , ¿puedes aclarar cuántos certificates y keys privadas tienes?

Deberá leer algunos materiales sobre cómo funciona la authentication TLS.

En caso de que necesite una dirección aproximada, para que un par (cliente o server) se autentique, necesita una key pública dentro de un certificate y una key privada, y para que la otra parte confíe en ella, la otra parte necesitará la emisor CA (o el certificate autofirmado) como uno de confianza.

La configuration habitual es un certificate MÁS la key privada para el certificate del server, y un package de CA, o al less la CA de un solo emisor configurada en el CLIENTE como un certificate de confianza.

Con la authentication del cliente, además de eso, necesitará una configuration similar en el lado del cliente: un certificate para el cliente MÁS la key privada para él, y una configuration en el server (o al less el certificate de emisor único en el SERVIDOR como un certificate de confianza).

No funcionará si tiene solo un certificate autofirmado, necesitará uno (autofirmado o emitido por CA) para el server y el cliente también.

No puede copyr la parte del certificate del server para autenticar al cliente. Esta parte es suficiente para que el cliente confíe en el server, pero sin una key privada, no puede utilizarse para la authentication criptográfica.

La línea de command anterior solo muestra que intenta utilizar una list de certificates públicos (el package de CA) como key privada. ¿Tiene un certificate real con una key privada?

    Intereting Posts