Anonymní profil Frodo – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Frodo – Programujte.comAnonymní profil Frodo – Programujte.com

 

Příspěvky odeslané z IP adresy 50.135.169.–

Frodo
Java › Problém s šifrovaným připoje…
14. 5. 2016   #210662

Potřebuji poslat data na server s těmito parametry:

Datové zprávy opatřené uznávaným elektronickým podpisem, které přijímá "Společné technické zařízení správců daně", musí být vytvořeny dle formátu PKCS#7 verze 1.5 (RFC 2315). PKCS#7 objekt musí být ve formátu DER (ITU-T Recommendation X.690). Obsah PKCS#7 objektu, reprezentujícího datovou zprávu opatřenou uznávaným elektronickým podpisem, musí splňovat následující podmínky: - musí být typu "signedData" - musí obsahovat podepisovaná data (není přípustná reference) - musí obsahovat certifikát podepisujícího (vložený) - musí obsahovat právě jeden elektronický podpis Kontrola při příjmu datové zprávy opatřené uznávaným elektronickým podpisem se kromě kryptografických kontrol platnosti podpisu datové zprávy kontroluje také následující: - certifikát podepisujícího musí být vydán akreditovaným poskytovatelem certifikačních služeb (přehled udělených akreditací je k dispozici na stránkách Ministerstva vnitra na adrese http://www.mvcr.cz/…formace.aspx) - certifikát podepisujícího musí obsahovat bezvýznamový identifikátor klienta MPSV tak, jak to vyžaduje zákon 

Zatím jsem napsal toto:

 String url = "https://adisepo.mfcr.cz/adistc/epo_podani";
        URL obj = new URL(url);
        HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();

        //add reuqest header
        con.setRequestMethod("POST");

        String urlParameters = "email=&test=1";

        // Send post request
        con.setDoOutput(true);
        DataOutputStream wr = new DataOutputStream(con.getOutputStream());
        wr.writeBytes(urlParameters);
        wr.flush();
        wr.close();


        int responseCode = con.getResponseCode();
        System.out.println("\nSending 'POST' request to URL : " + url);
        System.out.println("Post parameters : " + urlParameters);
        System.out.println("Response Code : " + responseCode);

        BufferedReader in = new BufferedReader(
                new InputStreamReader(con.getInputStream()));
        String inputLine;
        StringBuffer response = new StringBuffer();

        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }
        in.close();

        //print result
        System.out.println(response.toString());

Ale dostávám tento problém:

Exception in thread "main" javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
	at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949)
	at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)
	at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296)
	at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1506)
	at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)
	at sun.security.ssl.Handshaker.processLoop(Handshaker.java:979)
	at sun.security.ssl.Handshaker.process_record(Handshaker.java:914)
	at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062)
	at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
	at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
	at sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1282)
	at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1257)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:250)
	at HttpURLConnectionExample.sendPost(HttpURLConnectionExample.java:72)
	at HttpURLConnectionExample.main(HttpURLConnectionExample.java:18)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)

Jak bych to mohl vyřešit?

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý