Supongo que desea inscribir usuarios mediante POSTing CSRs. Ya hay esquemas de inscripción integrados en los navegadores, por lo que no tiene que POST CSR. Esos esquemas de inscripción también instalarán automáticamente el certificado del cliente en la tienda del navegador, por lo que Todo se hace de una sola vez.
Aquí tienes todo para empezar:
enlace
Esto debería hacerse cargo de todo. Ahora, su único problema es autenticar a los usuarios como usuarios antes de inscribirlos.
Supongo que este es el problema que desea resolver, en otras palabras, autenticar a los usuarios para que nadie pueda inscribirse, por ejemplo, solo los individuos invitados específicos deben obtener una cuenta.
Si puede proporcionar software a los equipos cliente a través de algún conjunto de administración, podría proporcionar un "RunOnce" que contenga una URL como enlace donde clave = es una clave de una sola vez generada de forma segura y aleatoria, que permite la inscripción de un solo certificado. Dado que su software de aprovisionamiento probablemente podrá conocer la IP del cliente, también podría bloquear la clave = para que solo sea válida para la IP en cuestión, obteniendo así una seguridad adicional por lo que si esta única clave se filtrara antes de su uso, sería imposible usarlo.
Si no tiene ningún paquete de administración y no hay posibilidad de identificar a los usuarios hoy, sugeriría la inscripción manual. Esto se puede hacer configurando una página de inscripción protegida por contraseña de la que solo usted, como administrador, conoce la contraseña y luego visita físicamente a cada usuario y los inscribe.
La instalación de un certificado de una sola vez es un paso innecesario, ya que aún tendría que verificar a los usuarios antes de instalar el certificado de una sola vez. Y si ha verificado que los usuarios están autorizados, no necesita realizar el paso de instalar un certificado de una sola vez.
Si los usuarios no se encuentran tan cerca, debe establecer otra forma de verificar a los usuarios. Digamos que los usuarios necesitan llamar al "Helpdesk" para obtener una cuenta y verificarlo con un representante del cliente. Luego, puede hacer una página en la que tengan que ingresar una "identificación de inscripción" de 8 dígitos que les entregue por teléfono después de la verificación exitosa. Este ID de inscripción podría tener una validez de aproximadamente 5 minutos, lo que da máxima seguridad.
Incluso podría tener un desafío que tienen que leerle, ingresa todos los detalles que deben escribirse en el certificado, obtienen una respuesta y tienen que escribir la respuesta para inscribir su certificado.