Test di firma digitale su una richiesta in arrivo tramite Apache

0

Sto creando un endpoint API che riceve il payload da una terza parte. La terza parte sta firmando la richiesta con il certificato X509 (chiave privata). Mi è stato fornito il loro certificato pubblico. Come posso verificare che la richiesta in entrata abbia una firma valida utilizzando il certificato pubblico che ho tramite Apache?

Ho provato alcune delle cose che non funzionano:

  • Ho mantenuto SSLVerifyClient richiesto insieme a SSLVerifyDepth 10 nella configurazione httpd di Apache, quindi mantenuto il loro certificato client nell'archivio attendibile.
  • Ho mantenuto SSLOptions + ExportCertData e ho verificato la SSL_CLIENT_CERT Variabile d'ambiente alla fine dell'applicazione se sto ottenendo il certificato client nella richiesta che sto ricevendo. Sebbene la variabile Ambiente non abbia alcun certificato in esso.

Come posso verificare la richiesta firmata? Per favore, guidami se sto cercando una direzione sbagliata per verificare la Richiesta.

    
posta Richa Sinha 09.10.2016 - 07:04
fonte

1 risposta

1

La firma digitale del carico utile proviene da Docusign come hai affermato in un commento. Questa firma del payload non è correlata a HTTPS e quindi non può essere verificata a livello HTTP in Apache. Ciò significa che qualsiasi tentativo di utilizzare SSLVerifyClient o simili non funzionerà.

Da un breve sguardo alla loro documentazione non sembra che DocuSign utilizzi un formato di firma standardizzato che tutti potrebbero verificare. Anche la loro API e SDK sembrano offrire solo la firma ma non la verifica della firma. Potrebbe essere parte del loro modello di business per controllare questa parte. Ma per maggiori dettagli guarda tu stesso la documentazione API (forse mi sono perso qualcosa) o contatta Docusign.

    
risposta data 09.10.2016 - 21:29
fonte

Leggi altre domande sui tag