menu di navigazione del network

[RISOLTO] HTTP 403: forbidden address TrasmissioneFattura


(Lorenzo) #21

allora come mi ha detto Pipino ho:

-Installato i pfx (server/client), sistema di interscambio, test in personal
-in radici attendibili la CA e la CA test che sono quelle che trustano tutte quelle in personal
-in iis binda solo https l’sdi_server

poi in editor di configurazione sono andato su system.webServer/security/authentication/iisClientCertificateMappingAuthentication
e ho settato le regole come sopra:

Abilita solo un ManyToOne
metti un nome che vuoi univoco (perchè ad esempio potresti avere altri certificati client sulla stessa macchina)
metti una descrizione
user/password di un utente windows che ha i permessi di lettura sul certificato client SDI-PIVA (i permessi li dai nella gestione certificati di windows (tasto dx sul certificato cliente->all tasks -gestisci chiavi private…)
-permission mode allows

poi in rules aggiungi
certificate field : subject
certificatesubfield: CN
match criteria : SDI-yourpartitaiva
comparecasesensitive: true


fatto sia per web.config che application.host nel menu a tendina in alto a dx.


(GiuseppeZ) #22

Lorenzo purtroppo non funziona a sto punto mi viene da chiedere se il certificato che ho a disposizione è corretto e pertanto ti chiedo:
quale procedura (su windows) hai seguito dal momento della generazione del CSR al binding con il sito?
Hai per esempio combinato la CAentrate con CAentrateTest?

In sinstesi: come hai elaborato i certificati ricevuti da SOGEI nel KitdiTest?


(Lorenzo) #23

Ciao Giuseppe, ho generato i csr tramite iis, e completato la certificazione sempre tramite iis.
Per l invio della fattura poi ho estratto la chiave privata tramite openssl, mentre per quanto riguarda il certificato server non fatto nulla se non fare il binding del ssl.
CAentrate e CaentrateTest li ho messi come root attendibili e ho controllato che tutti i certificati personal fossero trustati da CAentrate


(GiuseppeZ) #24

E’ esattamente ciò che ho fatto io.
Tuttavia ho notato che il certificato server che mi hanno rilasciato è firmato da CA Agenzia delle Entrate e non da CA Ag. delle entrate di TEST, per cui mi viene il dubbio che il client con cui provano ad inviarmi l’esito abbia solo la CA delle agenzie delle entrate TEST nel suo repository e non riesce a validare il mio certificato server.

E’ curioso notare che se provo ad eseguire il comando di test openssl specificando la CA da usare la connessione va benone!

Ma il tuo certificato server è firmato da CA Agenzie delle Entrate o da CA Agenzie delle Entrate TEST???


(Lorenzo) #25

CA Agenzia delle Entrate


(Lorenzo) #26

Tra l’altro non sono sicuro serva a qualcosa CA agenzia delle entrate test


(GiuseppeZ) #27

Ringraziandoti ancora per la disponibilità , volevo chiederti:

  1. ma ad oggi l’errore 403 forbidden address che ti dava all’invocazione del tuo server è superato?
  2. se esegui openssl s_client -connect :443 gli errori 20 e 21 sono ancora li?

Grazie ancora.


(Lorenzo) #28

Gli errori 20 e 21 sono ancora li, per quanto riguarda errore 403 si é superato… prova a mandare uno screen del tuo editor di configurazione, magari c’é qualcosa che ti sfugge, e ad abilitare il trace di iis, a me é stato molto utile


(GiuseppeZ) #29

Eccoti la completa configurazione:
https://drive.google.com/drive/folders/1hVQtMhN-lxeixjjdkxybkDRv0eif3jve?usp=sharing

ti posto un link di drive con gli shot in ordine in quanto non posso postare più di un’immagine.


(Vladan Bato) #30

È usato per firmare il certificato client SdI di test (SistemaInterscambioFatturaPATest.cer, usato da SdI quando si collega al tuo endpoint di test).


(Vladan Bato) #31

Aggiungo questo schemino con i vari certificati forniti che mi sono fatto perché non ci capivo niente neanch’io:

CERTIFICATI DI TEST:

  • testservizi.fatturapa.it.cer: Certificato SERVER esposto dai servizi di test del Sistema di Interscambio, firmato da caentrate.der
  • SistemaInterscambioFatturaPATest.cer: Parte pubblica del certificato CLIENT utilizzato dal Sistema di Interscambio per invocare i servizi di test da noi esposti, firmato da CAEntratetest.cer

CERTIFICATI DI PRODUZIONE:

  • servizi.fatturapa.it.cer: Certificato SERVER esposto dai servizi del Sistema di Interscambio, firmato da GlobalSign (e’ un certificato SSL verificabile anche senza la CA dell’ADE).
  • SistemaInterscambioFatturaPA.cer: Parte pubblica del certificato CLIENT utilizzato dal Sistema di Interscambio per invocare i servizi da noi esposti, firmato da caentrate.der

CERTIFICATI DI CA:

  • caentrate.der: certificato di CA per ambiente di produzione
  • CAEntratetest.cer: certificato di CA per validare il certificato SdI di test

CERTIFICATI NOSTRI:

  • SDI-02667080283.key: chiave privata nostra
  • SDI-02667080283-client.cer: certificato client nostro, firmato da caentrate.der
  • SDI-02667080283-server.cer: certificato server nostro, firmato da caentrate.der

Accreditamento SDICoop configurazione Certificati Java
(Lorenzo) #32

nel mapping dovresti avere una sola regola, con SDI-PIVA che autentica il client, con appunto il tuo certificato, di cui tu possiedi la chiave privata


(GiuseppeZ) #33

Scusa Lorenzo…ma perché dovrei usare il mio certificato client per autenticare il client di SDI ?!
In ogni caso con le condizioni che messo dovrei consentire tutti i client che hanno un certificato rilasciato da CA Agenzie delle Entrate e da CA Agenzie delle Entrate Test…in ogni caso ho anche messo quella del client SDI-PIVA.

Lorenzo, posso chiederti uno screenshot della sezione rules?


(Lorenzo) #34


Eccolo


(Bruno) #35

io le rules le ho fatte validando “Issuer” con CN = CA Agenzia delle Entrate Test
ed anche CN = CA Agenzia delle Entrate

non vedo il senso di validare con un subject di quel tipo, a meno che il certificato client usato da Aged per le chiamate non si chiami proprio in quel modo…


(Nico) #36

L’errore 20 significa che openssl non conosce la tua root CA. Dovrebbe essere indicata con -CAPath / -CAfile (pem file)
Sul server hai un solo dominio? Altrimenti devi indicare anche -servername

Oppure ci sono errori nel certificato …


(Lorenzo) #37

Il certificato del client non dovrebbe chiamarsi proprio in quel modo? é il certificato generato in fase di accreditamento


(GiuseppeZ) #38

Pipino qui sotto l’output di openssl s_client con l’opzione -CAfile caentrate.cer

Tutto ok…ma continuo ad avere il 403 16 forbidden address…ciò nonostante la configurazione di IIS fatta con manyToOne e con le rules basate su Issuer-CN=CA Agenzia delle Entrate e CA Agenzia delle Entrate Test


(Nico) #39

il trace (verbose) di iis non ti dà nessuna indicazione ?
Nei log di iis aggiungi anche i campi sull’autenticazione così vedi come si presenta quando ti invoca


(GiuseppeZ) #40

Dove attivo il trace verbose di IIS?
In ogni caso nel log attuale trovo:
2018-12-06 18:52:16 W3SVC7 <mioNomeServer> <mioipv4> POST /wsSDI.Services.TrasmissioneFattureTEST.svc - 443 - 217.175.52.231 HTTP/1.1 IBM+WebServices/1.0 - - <mioNomeServer>:443 403 16 2148204809 471