Tengo un archivo jar que tiene alguna funcionalidad crítica para el negocio. Mantener esta lógica segura y evitar el uso no autorizado de este frasco es muy importante para mí.
Para lograr esto, he ofuscado el código antes de empaquetarlo en el contenedor que proporciona cierta seguridad contra la ingeniería inversa de la lógica por parte de un usuario no autorizado.
Ahora quiero asegurarme de que ninguna persona no autorizada pueda usar el frasco incluso si tiene acceso a él. Actualmente, estoy planeando tener una CA raíz en mi jarra y emitir certificados de la misma CA a todos los consumidores autorizados. Los usuarios autorizados pasarán este certificado en el código y se confiará utilizando la cadena de comando de certificados. Las partes no autorizadas no podrían usar el frasco ya que no tendrían estos certificados.
¿Hay alguna forma mejor de hacer esto? ¿Hay algún problema con esta solución?