¿Necesito mi propio servidor para firmar certificados?

0

Lo siento por cualquier confusión con esta pregunta. Ni siquiera estoy seguro de lo que estoy preguntando.

Entonces, lo que estoy tratando de hacer es aplicar ingeniería inversa a una aplicación de Android y luego crear un programa python en mi PC con Windows para conectarme al servidor de esa aplicación.

Sin embargo, me encontré con algunos problemas con algún tipo de "solicitud de firma" que se debe pasar por los encabezados.

En algún sitio web aleatorio, pude encontrar una publicación antigua de alguien con algún código para hacer la "solicitud de firma", pero se refiere a un "servidor de firmas", y no sé qué significa exactamente ... como si necesito o no configurar mi propio servidor e instalar un certificado, etc. (o si puede ser un certificado autofirmado)

De todos modos, aquí hay una parte del código (del otro sitio) donde estoy tratando de averiguar qué hacer con el servidor de firmas.

(hay algún otro código, pero estoy seguro de que no es importante ... en su mayoría solo tengo curiosidad por esta primera línea con la URL, que estoy seguro es solo un ejemplo)

signing_server = "http://20.45.122.164:8888/sign"
payload = "some random data"
resp = session.get(signing_server, data = payload)

(ultimately I need the signature from this like of code)
return json.loads(resp.text)["signature"]

¿Alguna idea? No sé mucho acerca de estas cosas ... pero espero que sea algo fácil donde puedo lanzar un servidor aleatorio en línea y firmarlo por mí.

    
pregunta user3276588 27.05.2017 - 06:08
fuente

1 respuesta

2

Probablemente esté preguntando acerca de la infraestructura de clave pública. O algún diseño similar.

PKI funciona de la manera en que genera una solicitud de firma de certificado en su dispositivo, luego la firma con su clave privada para asegurarse de que usted es la persona / dispositivo que solicita el certificado. Una vez que haya generado este CSR, lo envía al servidor. En el modo automático, el servidor valida la CSR, básicamente, analiza la solicitud de firma, para qué fines solicita los certificados (puede ser un certificado de servidor, un certificado de cliente, un certificado para firmar correos electrónicos, lo que sea) y luego verifica si la solicitud de firma del certificado está firmada por alguien que posee el certificado, lo que le permite enviar solicitudes de firma al servidor (el csr contiene el certificado que incluye la clave pública de la clave privada utilizada para firmar el CSR). Si todo es válido, el certificado le será emitido y firmado por el servidor. En el modo no autónomo, generalmente hay una persona que revisa la CSR y valida que usted (el solicitante) es usted (es decir, por correo, teléfono, verificando su tarjeta de identificación, sea cual sea el método de verificación de identidad estándar). Eso es en breve. Eche un vistazo a www.google.com/search?q=PKI, incluye muchos estándares y formatos.

No tengo ni idea de lo que la aplicación que estás pirateando está intentando lograr. Me parece que está tratando de hacer exactamente lo que he descrito, pero quién sabe qué recopila para la CSR en el dispositivo y qué se incluye en la carga útil. Desde mi perspectiva, debería ser factible, ya que la clave privada utilizada para firmar la carga útil debe almacenarse en el propio dispositivo, si se utiliza. Pero, por supuesto, si está protegido con cualquier tipo de contraseña que no sepa que está perdido.

Es difícil ayudarlo sin información más detallada sobre la aplicación y el servidor al que intenta conectarse. No preferiría preguntar qué es.

Además, también le recomendaría que no haga estas preguntas de piratería ya que parece que está intentando lograr algo malo, algo que no era la intención de los autores del software.

    
respondido por el Fis 27.05.2017 - 06:46
fuente

Lea otras preguntas en las etiquetas