Connessione a Web Server

di il
28 risposte

28 Risposte - Pagina 2

  • Re: Connessione a Web Server

    Per la configurazione di default in https va inserito:

    <network-security-config>
    <debug-overrides>
    <trust-anchors>
    <certificates src="@raw/debug_cas"/>
    </trust-anchors>
    </debug-overrides>
    </network-security-config>

    per far in modo che riconosca il certificato generato dal Sever locale IIS Express?
  • Re: Connessione a Web Server

    Si, puoi anche usare questo tipo di configurazione, che effettivamente è più sicuro in quanto ha effetto solo in debug, a patto che:
    • l'app sia generata in modalità debug (cioè il manifest contiene android:debuggable="true")
    • ci sia una risorsa RAW (chiamata debug_cas nel tuo esempio) che contenga il certificato self-signed. Presumo che tu possa risalire a questo certificato andando a vedere i file di configurazione di IIS per vedere dove si trova, ma non ho mai usato IIS per cui non so di preciso come aiutarti
    • Re: Connessione a Web Server

      Dal server IIS vedo l'Hash del certificato generato in localhost.
      é quello che si intende contenuto nella risorsa RAW?
    • Re: Connessione a Web Server

      No, nella risorsa RAW ci va messo il certificato stesso in formato PEM o DER. Più nello specifico:
      Certificates must be encoded in DER or PEM format. In the case of PEM certificates, the file must not contain extra non-PEM data such as comments.
    • Re: Connessione a Web Server

      Ho convertito il certificato in PEM;

      come inserire in AndroidManifst.xml:

      <network-security-config>
      <debug-overrides>
      <trust-anchors>
      <certificates src="@raw/debug_cas"/>
      </trust-anchors>
      </debug-overrides>
      </network-security-config>

      in

      <manifest......

      va messo qualche riferimento?
    • Re: Connessione a Web Server

      Mi auto-cito:

      Della ha scritto:


      È spiegato nel link postato sopra:
      C'è un esempio nella prima sezione "adding a network security configuration file"
      Quella configurazione va messa in un XML a se stante (chiamato ad esempio network_security_config). Nel manifest devi solo aggiungere un "collegamento" a quel file:
      
      <manifest ... >
          <application android:networkSecurityConfig="@xml/network_security_config"
          ...
      </manifest>
      
    • Re: Connessione a Web Server

      Ho seguito tutti i passi sopraindicati;

      inserito il certificato.pem.txt nella cartella "raw";

      creato il file denominato "security.xml"

      <application android:networkSecurityConfig="@xml/security".......

      mi da questi 2 errori:

      unexpected element <base-config> found in <manifest>

      APT2263: unexpected element <base-config> found in <manifest>
    • Re: Connessione a Web Server

      L'errore stesso ti dice qual è il problema! Unexpected element <base-config> found in manifest. Il <base-config> è un'alternativa a <debug-config> e quindi non va inserito nel manifest direttamente. Visto che hai già il tuo file di configurazione esterno puoi semplicemente rimuovere quel <base-config>
    • Re: Connessione a Web Server

      Ero convinto di averlo rimosso invece era ancora la;

      comunque adesso mi dice:

      'resource xml/security not found'

      il file xml l' ho inserito sotto "Properties".
    • Re: Connessione a Web Server

      A memoria dovrebbe andare sotto res/xml, Android usa delle convenzioni abbastanza specifiche per le risorse
    • Re: Connessione a Web Server

      Ovvero 'Resources'?
    • Re: Connessione a Web Server

      No, la cartella si chiama proprio "res": https://developer.android.com/guide/topics/resources/providing-resources
    • Re: Connessione a Web Server

      In Xamarin la cartella 'values' la trovo sotto 'Resources';
      in 'values' quindi ho inserito il file.xml, ma il problema persiste.
    • Re: Connessione a Web Server

      Mi da questo errore:

      'resource xml/network.security.config (aka.com.companyname.click_android:xml/network_security_config) not found'

      <application android:networkSecurityConfig="@xml/security".......
      <provider android:name="mono.MonoRuntimeProvider" android:exported="false" android:initOrder="1999999999" android:authorities="com.companyname.click_android.mono.MonoRuntimeProvider.__mono_init__" />
    Devi accedere o registrarti per scrivere nel forum
    28 risposte