Kdysi jsme udělali malý komunikační program, který posílá data na zabezpečený server. Nyní ale na serveru změnili certifikát, protože starý přestal platit, a je tu problém. Doposud vše chodilo a jinak se nic nezměnilo (ani verze JRE), proto z toho mám již hlavu celou zlámanou.
Upřímně řečeno nechce se mi moc měnit program, protože je to dost dlouho, co se dělal a také změna programu problém nezpůsobila.
Můžete mne někdo navést správným směrem?
 
Předem děkuji Miloš
 
 
 
Hlásí to chybu:
javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: Could not find trusted certificate
 
Pouštěno je to takhle:
rem (s certifikatem serveru ):
"C:\Program Files\Java\j2re1.4.2_09\bin\javaw.exe" -cp .\;.\abc.jar -Djavax.net.ssl.trustStore=.\abccert abc.Application1
 
Přičemž úložiště certifikátů je vytvořeno takto (obsahuje jen 1 certif. z certifikátu serveru ve formátu x.509):
del abccert
"C:\Program Files\Java\j2re1.4.1_02\bin\keytool" -import -alias abc -file .\server.cer -keystore .\abccert -storepass changeit

Začátek třídy komunikace:
  ResourceBundle res = ResourceBundle.getBundle("abc");
  String resFile = "abc.properties";
 
  HttpURLConnection conn;//pripojeni k serveru
  //priprava datoveho bufferu pro vystup
  ByteArrayOutputStream ostream = new ByteArrayOutputStream(12); //pouze pro pocitani
  PrintWriter writer = new PrintWriter(ostream); //primo na server
 
  private boolean prerusenoUzivatelem;//zda uzivatel prerusil danou akci
  private izip.Frame1 frame; //odkaz pro moznost poslani infa na obrazovku
 
  public abcfile(abc.Frame1 frame)
  {      this.frame = frame;  }
 
  //ziskani odkazu na server, pripojeni na nej a nastaveni zakladnich hlavicek
  // KROME hlavicky o delce dat!
  public void connectServer() throws Exception
  {
    URL zakladniURL = new URL(res.getString("ABC_URL"));
    URLConnection conn0 = zakladniURL.openConnection();
    conn = (HttpURLConnection) conn0;
    conn.setDoOutput(true);
    //conn.setRequestMethod("HEAD");
    conn.setRequestProperty("From",res.getString("headerFrom"));
    conn.setRequestProperty("Host",res.getString("headerHost"));
    conn.setRequestProperty("Content-Type","multipart/form-data; boundary="+boundary);
    //conn.connect(); nelze pred nastavenim delky dat
  }
 

Odpovedet emailem