Ho bisogno del mio server per firmare i certificati?

0

Ci scusiamo per qualsiasi confusione con questa domanda. Non sono nemmeno sicuro di quello che sto chiedendo.

Quindi quello che sto cercando di fare è di decodificare un'app per android, e quindi di creare un programma python sul mio PC Windows per collegarmi al server di quell'app.

Ho incontrato alcuni problemi con una sorta di "richiesta di firma" che deve essere passata attraverso le intestazioni.

In qualche sito casuale, sono riuscito a trovare un vecchio post da qualcuno con qualche codice per fare la "richiesta di firma", ma si riferisce a un "server di firma", e non so cosa significhi esattamente .. Mi piace se devo impostare o meno il mio server e installare un certificato, ecc. (o se può essere un certificato autofirmato)

Comunque, qui c'è una parte del codice (proveniente dall'altro sito) dove sto cercando di capire cosa fare con il server di firma.

(c'è qualche altro codice ma sono sicuro che non è importante .. per lo più solo curioso di questa prima riga con l'URL che sono sicuro sia solo un esempio)

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"]

Qualche idea? Non ne so molto di questa roba ... ma spero che sia qualcosa di facile in cui posso semplicemente inserire un server casuale online e farlo firmare per me.

    
posta user3276588 27.05.2017 - 06:08
fonte

1 risposta

2

Probabilmente stai chiedendo informazioni su Public Key Infrastructure. O qualche disegno simile.

Il PKI funziona nel modo in cui generi una richiesta di firma del certificato sul tuo dispositivo, quindi lo firmi con la tua chiave privata per assicurarti di essere la persona / il dispositivo che sta richiedendo il certificato. Una volta generato questo CSR, lo si invia al server. In modalità automatica, il server convalida il CSR, in pratica, dà un'occhiata alla richiesta di firma, a quali scopi si richiede il certificato (può essere un certificato server, certificato client, certificato per la firma di e-mail, qualunque) quindi controlla se la richiesta di firma del certificato è firmata da qualcuno che possiede il certificato che gli consente di inviare richieste di firma al server (il csr contiene il certificato inclusa la chiave pubblica della chiave privata utilizzata per firmare il CSR). Se tutto è valido, il certificato viene rilasciato e firmato dal server. In modalità non autonoma di solito c'è una persona che dà un'occhiata al CSR e convalida che tu (richiedente) sei tu (cioè per posta, telefono, controllando la tua carta d'identità, qualunque sia il metodo standard di controllo dell'identità). Questo è in breve. Dai un'occhiata a www.google.com/search?q=PKI, include molti standard e formati.

Non ho idea di cosa stia cercando di ottenere l'applicazione che stai hackerando. Mi sembra che stia cercando di fare esattamente quello che ho descritto ma chissà cosa raccoglie per CSR nel dispositivo e cosa è incluso nel carico utile. Dal mio punto di vista dovrebbe essere fattibile in quanto la chiave privata utilizzata per firmare il payload deve essere memorizzata nel dispositivo stesso se viene utilizzata del tutto. Ma naturalmente, se è protetto con qualsiasi tipo di password che non conosci sei perso.

È difficile aiutarti senza informazioni più precise sull'applicazione e sul server a cui stai tentando di connettersi. Non preferirei chiedere di cosa si tratta.

Inoltre, ti raccomando anche di non fare domande di hacking come sembra che tu stia cercando di ottenere qualcosa di negativo, qualcosa che non era intenzione degli autori del software.

    
risposta data 27.05.2017 - 06:46
fonte