SSL-Website öffnen mit Java

speedy2

Grünschnabel
Hallo

ich möchte gerne mit java eine website öffnen/auslesen. Bei "normalen" Websites klappt das auch. Ich bekomme den ganzen html quellcode ausgegeben. Ich möchte das ganze auch mit einer ssl Website umsetzen.

Folgenden Quelltext habe ich schon:

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.*;
import javax.net.*;
import javax.net.ssl.*;

public class ReadHttpsURL1 {
static final int HTTPS_PORT = 443;

public static void main(String argv[]) throws Exception {
// Get a Socket factory
SocketFactory factory = SSLSocketFactory.getDefault();

// Get Socket from factory
Socket socket = factory.createSocket("www.jam.ca", HTTPS_PORT);

BufferedWriter out = new BufferedWriter(new
OutputStreamWriter(socket.getOutputStream()));
BufferedReader in = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
out.write("GET / HTTP/1.0\n\n");
out.flush();

String line;
StringBuffer sb = new StringBuffer();
while((line = in.readLine()) != null) {
System.out.println(line);
}
out.close();
in.close();
}
}


Leider klappt das nur wenn ich per ssl auf sun.com zugreife, da java dieser website automatisch vertraut. Ich habe mich auch schon durch eine englische Website von sun gelesen. Da steht beschrieben wie man einen client und einen server mit ssl programmiert.

http://java.sun.com/developer/technicalArticles/Security/secureinternet2/index.html

Dort wird aber mittels des Keytools ein schlüssel für den server erzeugt und verwendet. Beim client programm wird der schlüssel wieder importiert und verwendet. Mit diesem Keytool kann ich aber scheinbar keinen Schlüssel oder ein Certifikat von einer Website importieren.

Ich vermute, dass ich irgendwie das Certifikat des Servers importieren/aktzeptieren muss und eine SSL Session aufbauen muss. Es gibt in Java die Klasse(n) X 509 Certifikate aber ich hab noch nicht den durchblick ob ich die brauche und wenn wie die nutzen muss/kann.

Hat jemand ein kleines beispiel für mich? Oder kann mir jemand sagen warum es nocht nicht klappt? Was muss ich noch tun?

gruß

Speedy
 
Hallo!

Ich kann mich mit dem Server ohne Probleme über SSL Verbinden. Jedoch bekomme ich beim Zugriff auf eine Ressource immer einen HTTP-Forbidden 403
Java:
package de.tutorials;
import java.net.URL;
import java.util.Scanner;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLSession;
public class SecureWebPageReaderExample {
    public static void main(String[] args) throws Exception {
        HttpsURLConnection httpsUrlConnection = (HttpsURLConnection) new URL(
                "https://www.jam.ca/").openConnection();
        httpsUrlConnection.setHostnameVerifier(new HostnameVerifier() {
            public boolean verify(String hostname, SSLSession session) {
                System.out.println(hostname + ": " + session);
                return true;
            }
        });
        httpsUrlConnection.connect();
        Scanner scanner = new Scanner(httpsUrlConnection.getInputStream());
        while (scanner.hasNextLine()) {
            System.out.println(scanner.nextLine());
        }
        scanner.close();
    }
}
Aufruf:
Code:
java -Djavax.net.debug=all -Djavax.net.ssl.trustStore="C:\Dokumente und Einstellungen\Tom\.keystore" -Djavax.net.ssl.trustStorePassword=XXXXXXX -cp . de.tutorials.SecureWebPageReaderExample
Davor hab ich noch das Zertifikat des Servers in meinen lokalen Key/Truststore importiert:
Code:
E:\eclipse\3.2RC7\eclipse\workspace\de.tutorials.training\bin>keytool -import -alias JAMCA -file c:\jam-cert.cer
Geben Sie das Keystore-Passwort ein:  XXXXXXXX
Eigent³mer: EMAILADDRESS=jamie@jam.ca, CN=silo.jam.ca, OU=Webserver Team, O=JAM Logical SOlutions, L=Montreal, ST=Quebec, C=CA
Aussteller: EMAILADDRESS=jamie@jam.ca, CN=JAM CA, OU=Certificate Authority, O=JAM Logical Solutions, L=Montreal, ST=Quebec, C=CA
Seriennummer 1
G³ltig ab: Wed Nov 14 19:00:48 CET 2001 bis: Sat Nov 12 19:00:48 CET 2011
Zertifikatfingerabdr³cke:
         MD5: A4:0B:E2:99:C2:93:F6:9C:3E:E0:5D:D6:BB:A3:84:FB
         SHA1: F3:BC:38:5A:18:FD:2F:0A:D0:A4:FF:B8:11:CF:1F:72:28:D4:76:4D
Diesem Zertifikat vertrauen? [Nein]:  ja
Zertifikat wurde zu Keystore hinzugef³gt.
Das Zertifikat hab ich mir aus dem Internet Explorer als DER Encodiert X.509 exportiert. Auf dem Server sieht man in den Logs aber, dass bei der Anfrage einer Resource kein Zertifikat mitgeschickt wird... da ist also noch was faul...

Ich bekomme folgende Ausgaben auf der Console:
Code:
setting up default SSLSocketFactory
use default SunJSSE impl class: com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl
class com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl is loaded
keyStore is :
keyStore type is : jks
keyStore provider is :
init keystore
init keymanager of type SunX509
trustStore is: XXXXXXX
trustStore type is : jks
trustStore provider is :
init truststore
adding as trusted cert:
  Subject: EMAILADDRESS=jamie@jam.ca, CN=silo.jam.ca, OU=Webserver Team, O=JAM Logical SOlutions, L=Montreal, ST=Quebec, C=CA
  Issuer:  EMAILADDRESS=jamie@jam.ca, CN=JAM CA, OU=Certificate Authority, O=JAM Logical Solutions, L=Montreal, ST=Quebec, C=CA
  Algorithm: RSA; Serial number: 0x1
  Valid from Wed Nov 14 19:00:48 CET 2001 until Sat Nov 12 19:00:48 CET 2011

init context
trigger seeding of SecureRandom
done seeding SecureRandom
instantiated an instance of class com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl
%% No cached client session
*** ClientHello, TLSv1
RandomCookie:  GMT: 1133118381 bytes = { 132, 18, 56, 90, 63, 136, 48, 131, 105, 254, 152, 252, 132, 83, 147, 143, 22, 10, 50, 185, 242, 212, 64, 71, 112, 231, 95, 24 }
Session ID:  {}
Cipher Suites: [SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_DES_CBC_SHA, SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA, SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA]
Compression Methods:  { 0 }
***
[write] MD5 and SHA1 hashes:  len = 73
0000: 01 00 00 45 03 01 44 8A   04 AD 84 12 38 5A 3F 88  ...E..D.....8Z?.
0010: 30 83 69 FE 98 FC 84 53   93 8F 16 0A 32 B9 F2 D4  0.i....S....2...
0020: 40 47 70 E7 5F 18 00 00   1E 00 04 00 05 00 2F 00  @Gp._........./.
0030: 33 00 32 00 0A 00 16 00   13 00 09 00 15 00 12 00  3.2.............
0040: 03 00 08 00 14 00 11 01   00                       .........
main, WRITE: TLSv1 Handshake, length = 73
[write] MD5 and SHA1 hashes:  len = 98
0000: 01 03 01 00 39 00 00 00   20 00 00 04 01 00 80 00  ....9... .......
0010: 00 05 00 00 2F 00 00 33   00 00 32 00 00 0A 07 00  ..../..3..2.....
0020: C0 00 00 16 00 00 13 00   00 09 06 00 40 00 00 15  ............@...
0030: 00 00 12 00 00 03 02 00   80 00 00 08 00 00 14 00  ................
0040: 00 11 44 8A 04 AD 84 12   38 5A 3F 88 30 83 69 FE  ..D.....8Z?.0.i.
0050: 98 FC 84 53 93 8F 16 0A   32 B9 F2 D4 40 47 70 E7  ...S....2...@Gp.
0060: 5F 18                                              _.
main, WRITE: SSLv2 client hello message, length = 98
[Raw write]: length = 100
0000: 80 62 01 03 01 00 39 00   00 00 20 00 00 04 01 00  .b....9... .....
0010: 80 00 00 05 00 00 2F 00   00 33 00 00 32 00 00 0A  ....../..3..2...
0020: 07 00 C0 00 00 16 00 00   13 00 00 09 06 00 40 00  ..............@.
0030: 00 15 00 00 12 00 00 03   02 00 80 00 00 08 00 00  ................
0040: 14 00 00 11 44 8A 04 AD   84 12 38 5A 3F 88 30 83  ....D.....8Z?.0.
0050: 69 FE 98 FC 84 53 93 8F   16 0A 32 B9 F2 D4 40 47  i....S....2...@G
0060: 70 E7 5F 18                                        p._.
[Raw read]: length = 5
0000: 16 03 01 00 4A                                     ....J
[Raw read]: length = 74
0000: 02 00 00 46 03 01 44 8A   04 AE 3A 18 E2 4E B8 B7  ...F..D...:..N..
0010: 8A 07 03 B0 10 5C FA AE   DF 7C FC A1 91 1E B3 F3  .....\..........
0020: 29 F3 5C 06 5C 12 20 3E   FB 5D 0B 27 89 FC 25 7B  ).\.\. >.].'..%.
0030: 09 97 A8 EF AF B4 B4 AC   54 C7 FF 05 51 07 90 C3  ........T...Q...
0040: DB 94 79 6A 86 F8 6D 00   04 00                    ..yj..m...
main, READ: TLSv1 Handshake, length = 74
*** ServerHello, TLSv1
RandomCookie:  GMT: 1133118382 bytes = { 58, 24, 226, 78, 184, 183, 138, 7, 3, 176, 16, 92, 250, 174, 223, 124, 252, 161, 145, 30, 179, 243, 41, 243, 92, 6, 92, 18 }
Session ID:  {62, 251, 93, 11, 39, 137, 252, 37, 123, 9, 151, 168, 239, 175, 180, 180, 172, 84, 199, 255, 5, 81, 7, 144, 195, 219, 148, 121, 106, 134, 248, 109}
Cipher Suite: SSL_RSA_WITH_RC4_128_MD5
Compression Method: 0
***
%% Created:  [Session-1, SSL_RSA_WITH_RC4_128_MD5]
** SSL_RSA_WITH_RC4_128_MD5
[read] MD5 and SHA1 hashes:  len = 74
0000: 02 00 00 46 03 01 44 8A   04 AE 3A 18 E2 4E B8 B7  ...F..D...:..N..
0010: 8A 07 03 B0 10 5C FA AE   DF 7C FC A1 91 1E B3 F3  .....\..........
0020: 29 F3 5C 06 5C 12 20 3E   FB 5D 0B 27 89 FC 25 7B  ).\.\. >.].'..%.
0030: 09 97 A8 EF AF B4 B4 AC   54 C7 FF 05 51 07 90 C3  ........T...Q...
0040: DB 94 79 6A 86 F8 6D 00   04 00                    ..yj..m...
[Raw read]: length = 5
0000: 16 03 01 03 2C                                     ....,
[Raw read]: length = 812
0000: 0B 00 03 28 00 03 25 00   03 22 30 82 03 1E 30 82  ...(..%.."0...0.
0010: 02 87 A0 03 02 01 02 02   01 01 30 0D 06 09 2A 86  ..........0...*.
0020: 48 86 F7 0D 01 01 04 05   00 30 81 9F 31 0B 30 09  H........0..1.0.
0030: 06 03 55 04 06 13 02 43   41 31 0F 30 0D 06 03 55  ..U....CA1.0...U
0040: 04 08 13 06 51 75 65 62   65 63 31 11 30 0F 06 03  ....Quebec1.0...
0050: 55 04 07 13 08 4D 6F 6E   74 72 65 61 6C 31 1E 30  U....Montreal1.0
0060: 1C 06 03 55 04 0A 13 15   4A 41 4D 20 4C 6F 67 69  ...U....JAM Logi
0070: 63 61 6C 20 53 6F 6C 75   74 69 6F 6E 73 31 1E 30  cal Solutions1.0
0080: 1C 06 03 55 04 0B 13 15   43 65 72 74 69 66 69 63  ...U....Certific
0090: 61 74 65 20 41 75 74 68   6F 72 69 74 79 31 0F 30  ate Authority1.0
00A0: 0D 06 03 55 04 03 13 06   4A 41 4D 20 43 41 31 1B  ...U....JAM CA1.
00B0: 30 19 06 09 2A 86 48 86   F7 0D 01 09 01 16 0C 6A  0...*.H........j
00C0: 61 6D 69 65 40 6A 61 6D   2E 63 61 30 1E 17 0D 30  amie@jam.ca0...0
00D0: 31 31 31 31 34 31 38 30   30 34 38 5A 17 0D 31 31  11114180048Z..11
00E0: 31 31 31 32 31 38 30 30   34 38 5A 30 81 9D 31 0B  1112180048Z0..1.
00F0: 30 09 06 03 55 04 06 13   02 43 41 31 0F 30 0D 06  0...U....CA1.0..
0100: 03 55 04 08 13 06 51 75   65 62 65 63 31 11 30 0F  .U....Quebec1.0.
0110: 06 03 55 04 07 13 08 4D   6F 6E 74 72 65 61 6C 31  ..U....Montreal1
0120: 1E 30 1C 06 03 55 04 0A   13 15 4A 41 4D 20 4C 6F  .0...U....JAM Lo
0130: 67 69 63 61 6C 20 53 4F   6C 75 74 69 6F 6E 73 31  gical SOlutions1
0140: 17 30 15 06 03 55 04 0B   13 0E 57 65 62 73 65 72  .0...U....Webser
0150: 76 65 72 20 54 65 61 6D   31 14 30 12 06 03 55 04  ver Team1.0...U.
0160: 03 13 0B 73 69 6C 6F 2E   6A 61 6D 2E 63 61 31 1B  ...silo.jam.ca1.
0170: 30 19 06 09 2A 86 48 86   F7 0D 01 09 01 16 0C 6A  0...*.H........j
0180: 61 6D 69 65 40 6A 61 6D   2E 63 61 30 81 9F 30 0D  amie@jam.ca0..0.
0190: 06 09 2A 86 48 86 F7 0D   01 01 01 05 00 03 81 8D  ..*.H...........
01A0: 00 30 81 89 02 81 81 00   94 CF BF 02 FA E2 1B BB  .0..............
01B0: 4A E2 5D 7D BF 88 86 A7   A4 AB C7 FF 7D F7 53 6C  J.]...........Sl
01C0: C0 4E BD 83 DA D1 40 70   C5 24 D9 12 8C 24 59 3F  .N....@p.$...$Y?
01D0: A5 32 CC B7 07 14 E8 BF   A3 93 D0 37 E4 2A BF 29  .2.........7.*.)
01E0: F3 FF 03 58 40 82 DE 20   FA 4A 04 AB 7D D8 55 CF  ...X@.. .J....U.
01F0: 6A 93 26 26 A8 AA 8B 32   5A E0 F2 1C 20 95 AA 2B  j.&&...2Z... ..+
0200: 24 D1 89 E4 B8 65 B8 AD   ED BB 0C 2F 40 5D AC 14  $....e...../@]..
0210: 5F 4C 43 4E 01 13 A9 D1   3D 67 B5 4C 38 71 37 47  _LCN....=g.L8q7G
0220: 39 82 30 58 47 EC BE B7   02 03 01 00 01 A3 6A 30  9.0XG.........j0
0230: 68 30 17 06 03 55 1D 11   04 10 30 0E 81 0C 6A 61  h0...U....0...ja
0240: 6D 69 65 40 6A 61 6D 2E   63 61 30 3A 06 09 60 86  mie@jam.ca0:..`.
0250: 48 01 86 F8 42 01 0D 04   2D 16 2B 6D 6F 64 5F 73  H...B...-.+mod_s
0260: 73 6C 20 67 65 6E 65 72   61 74 65 64 20 63 75 73  sl generated cus
0270: 74 6F 6D 20 73 65 72 76   65 72 20 63 65 72 74 69  tom server certi
0280: 66 69 63 61 74 65 30 11   06 09 60 86 48 01 86 F8  ficate0...`.H...
0290: 42 01 01 04 04 03 02 06   40 30 0D 06 09 2A 86 48  B.......@0...*.H
02A0: 86 F7 0D 01 01 04 05 00   03 81 81 00 A6 68 AB 03  .............h..
02B0: A6 D3 8B 1B 98 A2 B9 3F   DB C0 FF 6C 1B DA FD DF  .......?...l....
02C0: 6B 8D E6 E2 71 05 61 BB   D1 95 0B 2E 5A E6 C9 08  k...q.a.....Z...
02D0: 56 9A 0E 1E B2 F7 35 70   12 D6 95 38 77 03 99 A1  V.....5p...8w...
02E0: 44 3C AC A7 03 00 C5 49   33 10 F9 AC F6 C7 5A 7A  D<.....I3.....Zz
02F0: 7C AD EF 43 B6 10 3E C6   4E EA C0 9C 8A BE 40 55  ...C..>.N.....@U
0300: 9B E7 94 20 C4 89 95 BE   BF 9F 67 C5 03 A3 CF B9  ... ......g.....
0310: D2 DA 04 9B 7B F9 1D 72   AB 0B F4 F6 FA 9C 37 FA  .......r......7.
0320: 1F 01 70 E4 5F 84 23 EC   E7 CF C9 15              ..p._.#.....
main, READ: TLSv1 Handshake, length = 812
*** Certificate chain
chain [0] = [
[
  Version: V3
  Subject: EMAILADDRESS=jamie@jam.ca, CN=silo.jam.ca, OU=Webserver Team, O=JAM Logical SOlutions, L=Montreal, ST=Quebec, C=CA
  Signature Algorithm: MD5withRSA, OID = 1.2.840.113549.1.1.4

  Key:  Sun RSA public key, 1024 bits
  modulus: 104498994906518338796619037012934378094885374903628114778106571660990850831344858538557915741992820851694259744162035081816295803219971592144096480955538870021947344302538786461050085333146543875736271369268269432781461616658885828717375520961942565033711571561890673139481661118227598441036462895241104244407
  public exponent: 65537
  Validity: [From: Wed Nov 14 19:00:48 CET 2001,
               To: Sat Nov 12 19:00:48 CET 2011]
  Issuer: EMAILADDRESS=jamie@jam.ca, CN=JAM CA, OU=Certificate Authority, O=JAM Logical Solutions, L=Montreal, ST=Quebec, C=CA
  SerialNumber: [    01]

Certificate Extensions: 3
[1]: ObjectId: 2.16.840.1.113730.1.13 Criticality=false
Extension unknown: DER encoded OCTET string =
0000: 04 2D 16 2B 6D 6F 64 5F   73 73 6C 20 67 65 6E 65  .-.+mod_ssl gene
0010: 72 61 74 65 64 20 63 75   73 74 6F 6D 20 73 65 72  rated custom ser
0020: 76 65 72 20 63 65 72 74   69 66 69 63 61 74 65     ver certificate


[2]: ObjectId: 2.16.840.1.113730.1.1 Criticality=false
NetscapeCertType [
   SSL server
]

[3]: ObjectId: 2.5.29.17 Criticality=false
SubjectAlternativeName [
[RFC822Name: jamie@jam.ca]]

]
  Algorithm: [MD5withRSA]
  Signature:
0000: A6 68 AB 03 A6 D3 8B 1B   98 A2 B9 3F DB C0 FF 6C  .h.........?...l
0010: 1B DA FD DF 6B 8D E6 E2   71 05 61 BB D1 95 0B 2E  ....k...q.a.....
0020: 5A E6 C9 08 56 9A 0E 1E   B2 F7 35 70 12 D6 95 38  Z...V.....5p...8
0030: 77 03 99 A1 44 3C AC A7   03 00 C5 49 33 10 F9 AC  w...D<.....I3...
0040: F6 C7 5A 7A 7C AD EF 43   B6 10 3E C6 4E EA C0 9C  ..Zz...C..>.N...
0050: 8A BE 40 55 9B E7 94 20   C4 89 95 BE BF 9F 67 C5  ..@U... ......g.
0060: 03 A3 CF B9 D2 DA 04 9B   7B F9 1D 72 AB 0B F4 F6  ...........r....
0070: FA 9C 37 FA 1F 01 70 E4   5F 84 23 EC E7 CF C9 15  ..7...p._.#.....

]
***
Found trusted certificate:
[
[
  Version: V3
  Subject: EMAILADDRESS=jamie@jam.ca, CN=silo.jam.ca, OU=Webserver Team, O=JAM Logical SOlutions, L=Montreal, ST=Quebec, C=CA
  Signature Algorithm: MD5withRSA, OID = 1.2.840.113549.1.1.4

  Key:  Sun RSA public key, 1024 bits
  modulus: 104498994906518338796619037012934378094885374903628114778106571660990850831344858538557915741992820851694259744162035081816295803219971592144096480955538870021947344302538786461050085333146543875736271369268269432781461616658885828717375520961942565033711571561890673139481661118227598441036462895241104244407
  public exponent: 65537
  Validity: [From: Wed Nov 14 19:00:48 CET 2001,
               To: Sat Nov 12 19:00:48 CET 2011]
  Issuer: EMAILADDRESS=jamie@jam.ca, CN=JAM CA, OU=Certificate Authority, O=JAM Logical Solutions, L=Montreal, ST=Quebec, C=CA
  SerialNumber: [    01]

Certificate Extensions: 3
[1]: ObjectId: 2.16.840.1.113730.1.13 Criticality=false
Extension unknown: DER encoded OCTET string =
0000: 04 2D 16 2B 6D 6F 64 5F   73 73 6C 20 67 65 6E 65  .-.+mod_ssl gene
0010: 72 61 74 65 64 20 63 75   73 74 6F 6D 20 73 65 72  rated custom ser
0020: 76 65 72 20 63 65 72 74   69 66 69 63 61 74 65     ver certificate


[2]: ObjectId: 2.16.840.1.113730.1.1 Criticality=false
NetscapeCertType [
   SSL server
]

[3]: ObjectId: 2.5.29.17 Criticality=false
SubjectAlternativeName [
[RFC822Name: jamie@jam.ca]]

]
  Algorithm: [MD5withRSA]
  Signature:
0000: A6 68 AB 03 A6 D3 8B 1B   98 A2 B9 3F DB C0 FF 6C  .h.........?...l
0010: 1B DA FD DF 6B 8D E6 E2   71 05 61 BB D1 95 0B 2E  ....k...q.a.....
0020: 5A E6 C9 08 56 9A 0E 1E   B2 F7 35 70 12 D6 95 38  Z...V.....5p...8
0030: 77 03 99 A1 44 3C AC A7   03 00 C5 49 33 10 F9 AC  w...D<.....I3...
0040: F6 C7 5A 7A 7C AD EF 43   B6 10 3E C6 4E EA C0 9C  ..Zz...C..>.N...
0050: 8A BE 40 55 9B E7 94 20   C4 89 95 BE BF 9F 67 C5  ..@U... ......g.
0060: 03 A3 CF B9 D2 DA 04 9B   7B F9 1D 72 AB 0B F4 F6  ...........r....
0070: FA 9C 37 FA 1F 01 70 E4   5F 84 23 EC E7 CF C9 15  ..7...p._.#.....

]
[read] MD5 and SHA1 hashes:  len = 812
0000: 0B 00 03 28 00 03 25 00   03 22 30 82 03 1E 30 82  ...(..%.."0...0.
0010: 02 87 A0 03 02 01 02 02   01 01 30 0D 06 09 2A 86  ..........0...*.
0020: 48 86 F7 0D 01 01 04 05   00 30 81 9F 31 0B 30 09  H........0..1.0.
0030: 06 03 55 04 06 13 02 43   41 31 0F 30 0D 06 03 55  ..U....CA1.0...U
0040: 04 08 13 06 51 75 65 62   65 63 31 11 30 0F 06 03  ....Quebec1.0...
0050: 55 04 07 13 08 4D 6F 6E   74 72 65 61 6C 31 1E 30  U....Montreal1.0
0060: 1C 06 03 55 04 0A 13 15   4A 41 4D 20 4C 6F 67 69  ...U....JAM Logi
0070: 63 61 6C 20 53 6F 6C 75   74 69 6F 6E 73 31 1E 30  cal Solutions1.0
0080: 1C 06 03 55 04 0B 13 15   43 65 72 74 69 66 69 63  ...U....Certific
0090: 61 74 65 20 41 75 74 68   6F 72 69 74 79 31 0F 30  ate Authority1.0
00A0: 0D 06 03 55 04 03 13 06   4A 41 4D 20 43 41 31 1B  ...U....JAM CA1.
00B0: 30 19 06 09 2A 86 48 86   F7 0D 01 09 01 16 0C 6A  0...*.H........j
00C0: 61 6D 69 65 40 6A 61 6D   2E 63 61 30 1E 17 0D 30  amie@jam.ca0...0
00D0: 31 31 31 31 34 31 38 30   30 34 38 5A 17 0D 31 31  11114180048Z..11
00E0: 31 31 31 32 31 38 30 30   34 38 5A 30 81 9D 31 0B  1112180048Z0..1.
00F0: 30 09 06 03 55 04 06 13   02 43 41 31 0F 30 0D 06  0...U....CA1.0..
0100: 03 55 04 08 13 06 51 75   65 62 65 63 31 11 30 0F  .U....Quebec1.0.
0110: 06 03 55 04 07 13 08 4D   6F 6E 74 72 65 61 6C 31  ..U....Montreal1
0120: 1E 30 1C 06 03 55 04 0A   13 15 4A 41 4D 20 4C 6F  .0...U....JAM Lo
0130: 67 69 63 61 6C 20 53 4F   6C 75 74 69 6F 6E 73 31  gical SOlutions1
0140: 17 30 15 06 03 55 04 0B   13 0E 57 65 62 73 65 72  .0...U....Webser
0150: 76 65 72 20 54 65 61 6D   31 14 30 12 06 03 55 04  ver Team1.0...U.
0160: 03 13 0B 73 69 6C 6F 2E   6A 61 6D 2E 63 61 31 1B  ...silo.jam.ca1.
0170: 30 19 06 09 2A 86 48 86   F7 0D 01 09 01 16 0C 6A  0...*.H........j
0180: 61 6D 69 65 40 6A 61 6D   2E 63 61 30 81 9F 30 0D  amie@jam.ca0..0.
0190: 06 09 2A 86 48 86 F7 0D   01 01 01 05 00 03 81 8D  ..*.H...........
01A0: 00 30 81 89 02 81 81 00   94 CF BF 02 FA E2 1B BB  .0..............
01B0: 4A E2 5D 7D BF 88 86 A7   A4 AB C7 FF 7D F7 53 6C  J.]...........Sl
01C0: C0 4E BD 83 DA D1 40 70   C5 24 D9 12 8C 24 59 3F  .N....@p.$...$Y?
01D0: A5 32 CC B7 07 14 E8 BF   A3 93 D0 37 E4 2A BF 29  .2.........7.*.)
01E0: F3 FF 03 58 40 82 DE 20   FA 4A 04 AB 7D D8 55 CF  ...X@.. .J....U.
01F0: 6A 93 26 26 A8 AA 8B 32   5A E0 F2 1C 20 95 AA 2B  j.&&...2Z... ..+
0200: 24 D1 89 E4 B8 65 B8 AD   ED BB 0C 2F 40 5D AC 14  $....e...../@]..
0210: 5F 4C 43 4E 01 13 A9 D1   3D 67 B5 4C 38 71 37 47  _LCN....=g.L8q7G
0220: 39 82 30 58 47 EC BE B7   02 03 01 00 01 A3 6A 30  9.0XG.........j0
0230: 68 30 17 06 03 55 1D 11   04 10 30 0E 81 0C 6A 61  h0...U....0...ja
0240: 6D 69 65 40 6A 61 6D 2E   63 61 30 3A 06 09 60 86  mie@jam.ca0:..`.
0250: 48 01 86 F8 42 01 0D 04   2D 16 2B 6D 6F 64 5F 73  H...B...-.+mod_s
0260: 73 6C 20 67 65 6E 65 72   61 74 65 64 20 63 75 73  sl generated cus
0270: 74 6F 6D 20 73 65 72 76   65 72 20 63 65 72 74 69  tom server certi
0280: 66 69 63 61 74 65 30 11   06 09 60 86 48 01 86 F8  ficate0...`.H...
0290: 42 01 01 04 04 03 02 06   40 30 0D 06 09 2A 86 48  B.......@0...*.H
02A0: 86 F7 0D 01 01 04 05 00   03 81 81 00 A6 68 AB 03  .............h..
02B0: A6 D3 8B 1B 98 A2 B9 3F   DB C0 FF 6C 1B DA FD DF  .......?...l....
02C0: 6B 8D E6 E2 71 05 61 BB   D1 95 0B 2E 5A E6 C9 08  k...q.a.....Z...
02D0: 56 9A 0E 1E B2 F7 35 70   12 D6 95 38 77 03 99 A1  V.....5p...8w...
02E0: 44 3C AC A7 03 00 C5 49   33 10 F9 AC F6 C7 5A 7A  D<.....I3.....Zz
02F0: 7C AD EF 43 B6 10 3E C6   4E EA C0 9C 8A BE 40 55  ...C..>.N.....@U
0300: 9B E7 94 20 C4 89 95 BE   BF 9F 67 C5 03 A3 CF B9  ... ......g.....
0310: D2 DA 04 9B 7B F9 1D 72   AB 0B F4 F6 FA 9C 37 FA  .......r......7.
0320: 1F 01 70 E4 5F 84 23 EC   E7 CF C9 15              ..p._.#.....
[Raw read]: length = 5
0000: 16 03 01 00 04                                     .....
[Raw read]: length = 4
0000: 0E 00 00 00                                        ....
main, READ: TLSv1 Handshake, length = 4
*** ServerHelloDone
[read] MD5 and SHA1 hashes:  len = 4
0000: 0E 00 00 00                                        ....
*** ClientKeyExchange, RSA PreMasterSecret, TLSv1
Random Secret:  { 3, 1, 151, 1, 173, 166, 165, 240, 61, 53, 96, 128, 84, 199, 132, 112, 62, 91, 105, 214, 74, 27, 25, 167, 210, 199, 245, 250, 231, 135, 172, 49, 137, 255, 118, 45, 136, 192, 63, 62, 22, 11, 29, 49, 177, 185, 31, 203 }
[write] MD5 and SHA1 hashes:  len = 134
0000: 10 00 00 82 00 80 70 71   EB EB 18 20 A9 30 6D E5  ......pq... .0m.
0010: D6 41 D1 B1 AF 2C AD C1   5D AC 30 E0 A4 25 13 85  .A...,..].0..%..
0020: 36 71 5F 1F 8C 64 A7 23   69 35 3B 54 47 68 C5 FF  6q_..d.#i5;TGh..
0030: D7 79 4F 96 25 3A F6 71   56 09 AB 00 78 FD 06 84  .yO.%:.qV...x...
0040: 54 3E 73 AD B6 7E 28 E0   35 19 71 B2 D9 83 E2 90  T>s...(.5.q.....
0050: 95 51 B8 20 31 BF EA C6   C0 99 EB B9 7F C8 5D E6  .Q. 1.........].
0060: 4F CC 7D 97 F2 22 56 BD   C6 AB A4 C6 81 C2 F7 9A  O...."V.........
0070: A9 94 2F 2C A4 70 F8 72   D9 FB 47 EA 0F 9C 52 7B  ../,.p.r..G...R.
0080: 30 70 27 0D CF 52                                  0p'..R
main, WRITE: TLSv1 Handshake, length = 134
[Raw write]: length = 139
0000: 16 03 01 00 86 10 00 00   82 00 80 70 71 EB EB 18  ...........pq...
0010: 20 A9 30 6D E5 D6 41 D1   B1 AF 2C AD C1 5D AC 30   .0m..A...,..].0
0020: E0 A4 25 13 85 36 71 5F   1F 8C 64 A7 23 69 35 3B  ..%..6q_..d.#i5;
0030: 54 47 68 C5 FF D7 79 4F   96 25 3A F6 71 56 09 AB  TGh...yO.%:.qV..
0040: 00 78 FD 06 84 54 3E 73   AD B6 7E 28 E0 35 19 71  .x...T>s...(.5.q
0050: B2 D9 83 E2 90 95 51 B8   20 31 BF EA C6 C0 99 EB  ......Q. 1......
0060: B9 7F C8 5D E6 4F CC 7D   97 F2 22 56 BD C6 AB A4  ...].O...."V....
0070: C6 81 C2 F7 9A A9 94 2F   2C A4 70 F8 72 D9 FB 47  ......./,.p.r..G
0080: EA 0F 9C 52 7B 30 70 27   0D CF 52                 ...R.0p'..R
SESSION KEYGEN:
PreMaster Secret:
0000: 03 01 97 01 AD A6 A5 F0   3D 35 60 80 54 C7 84 70  ........=5`.T..p
0010: 3E 5B 69 D6 4A 1B 19 A7   D2 C7 F5 FA E7 87 AC 31  >[i.J..........1
0020: 89 FF 76 2D 88 C0 3F 3E   16 0B 1D 31 B1 B9 1F CB  ..v-..?>...1....
CONNECTION KEYGEN:
Client Nonce:
0000: 44 8A 04 AD 84 12 38 5A   3F 88 30 83 69 FE 98 FC  D.....8Z?.0.i...
0010: 84 53 93 8F 16 0A 32 B9   F2 D4 40 47 70 E7 5F 18  .S....2...@Gp._.
Server Nonce:
0000: 44 8A 04 AE 3A 18 E2 4E   B8 B7 8A 07 03 B0 10 5C  D...:..N.......\
0010: FA AE DF 7C FC A1 91 1E   B3 F3 29 F3 5C 06 5C 12  ..........).\.\.
Master Secret:
0000: EE CD 79 38 D5 D4 21 95   5D F3 33 CD FF B2 89 5E  ..y8..!.].3....^
0010: 3F 74 0C D9 AB 13 5F E0   64 37 E9 36 49 C0 B8 38  ?t...._.d7.6I..8
0020: FF 11 AE FB 94 2A 66 98   FC C9 FE 9B B4 F5 D6 F8  .....*f.........
Client MAC write Secret:
0000: E0 75 AD 59 7B 16 5D 02   8F C2 08 9D 2B 4B 7B 6C  .u.Y..].....+K.l
Server MAC write Secret:
0000: 6F 13 0A D8 BE C2 12 0C   37 3E F8 C8 9D 38 87 9B  o.......7>...8..
Client write key:
0000: C3 4E 30 89 C6 3C 56 AC   62 CC DB 06 B7 12 76 45  .N0..<V.b.....vE
Server write key:
0000: 0A 22 4E ED 7D 5C AE A1   E5 2B 06 06 F1 61 AE 07  ."N..\...+...a..
... no IV for cipher
main, WRITE: TLSv1 Change Cipher Spec, length = 1
[Raw write]: length = 6
0000: 14 03 01 00 01 01                                  ......
*** Finished
verify_data:  { 252, 237, 21, 137, 7, 30, 80, 97, 223, 140, 240, 233 }
***
[write] MD5 and SHA1 hashes:  len = 16
0000: 14 00 00 0C FC ED 15 89   07 1E 50 61 DF 8C F0 E9  ..........Pa....
Padded plaintext before ENCRYPTION:  len = 32
0000: 14 00 00 0C FC ED 15 89   07 1E 50 61 DF 8C F0 E9  ..........Pa....
0010: 38 2F C5 A0 C9 1B AD 0C   44 6E AB 39 18 FE 06 74  8/......Dn.9...t
main, WRITE: TLSv1 Handshake, length = 32
[Raw write]: length = 37
0000: 16 03 01 00 20 3F 91 E2   1A B8 70 E8 90 90 8F A5  .... ?....p.....
0010: 26 9B FB EE FC 14 C6 3D   10 F7 EF 13 6E 92 B5 6B  &......=....n..k
0020: 41 95 AE 4E 8B                                     A..N.
[Raw read]: length = 5
0000: 14 03 01 00 01                                     .....
[Raw read]: length = 1
0000: 01                                                 .
main, READ: TLSv1 Change Cipher Spec, length = 1
[Raw read]: length = 5
0000: 16 03 01 00 20                                     ....
[Raw read]: length = 32
0000: 43 C1 FD F8 18 3C B2 01   85 26 9D 50 C7 93 55 53  C....<...&.P..US
0010: BD A5 EF 61 6F EE E3 39   27 4B 54 95 ED 4F 3D 60  ...ao..9'KT..O=`
main, READ: TLSv1 Handshake, length = 32
Padded plaintext after DECRYPTION:  len = 32
0000: 14 00 00 0C 14 AF 0C A0   26 14 21 CE 74 48 43 AE  ........&.!.tHC.
0010: F4 37 BB 10 C8 4E 27 9B   FC 69 D2 8D BF 20 15 3C  .7...N'..i... .<
*** Finished
verify_data:  { 20, 175, 12, 160, 38, 20, 33, 206, 116, 72, 67, 174 }
***
%% Cached client session: [Session-1, SSL_RSA_WITH_RC4_128_MD5]
[read] MD5 and SHA1 hashes:  len = 16
0000: 14 00 00 0C 14 AF 0C A0   26 14 21 CE 74 48 43 AE  ........&.!.tHC.
www.jam.ca: [Session-1, SSL_RSA_WITH_RC4_128_MD5]
Padded plaintext before ENCRYPTION:  len = 214
0000: 47 45 54 20 2F 20 48 54   54 50 2F 31 2E 31 0D 0A  GET / HTTP/1.1..
0010: 55 73 65 72 2D 41 67 65   6E 74 3A 20 4A 61 76 61  User-Agent: Java
0020: 2F 31 2E 35 2E 30 5F 30   36 0D 0A 48 6F 73 74 3A  /1.5.0_06..Host:
0030: 20 77 77 77 2E 6A 61 6D   2E 63 61 0D 0A 41 63 63   www.jam.ca..Acc
0040: 65 70 74 3A 20 74 65 78   74 2F 68 74 6D 6C 2C 20  ept: text/html,
0050: 69 6D 61 67 65 2F 67 69   66 2C 20 69 6D 61 67 65  image/gif, image
0060: 2F 6A 70 65 67 2C 20 2A   3B 20 71 3D 2E 32 2C 20  /jpeg, *; q=.2,
0070: 2A 2F 2A 3B 20 71 3D 2E   32 0D 0A 43 6F 6E 6E 65  */*; q=.2..Conne
0080: 63 74 69 6F 6E 3A 20 6B   65 65 70 2D 61 6C 69 76  ction: keep-aliv
0090: 65 0D 0A 43 6F 6E 74 65   6E 74 2D 74 79 70 65 3A  e..Content-type:
00A0: 20 61 70 70 6C 69 63 61   74 69 6F 6E 2F 78 2D 77   application/x-w
00B0: 77 77 2D 66 6F 72 6D 2D   75 72 6C 65 6E 63 6F 64  ww-form-urlencod
00C0: 65 64 0D 0A 0D 0A 80 72   6F 42 A9 C1 31 FC DD D1  ed.....roB..1...
00D0: 40 A1 6E D9 5E 3E                                  @.n.^>
main, WRITE: TLSv1 Application Data, length = 214
[Raw write]: length = 219
0000: 17 03 01 00 D6 80 DD 53   1F 0A 4C 60 41 D8 47 38  .......S..L`A.G8
0010: E0 D4 6E 71 F0 6F B3 85   FA BE C1 E9 FA 93 81 95  ..nq.o..........
0020: C2 C9 D6 57 F5 50 21 64   6C E9 DE AC 14 E0 67 C1  ...W.P!dl.....g.
0030: 5F 37 8A C9 14 79 61 93   2B CD FF 70 0F 96 84 19  _7...ya.+..p....
0040: 40 89 31 99 D0 89 E9 97   D5 06 62 D7 91 E7 9A 36  @.1.......b....6
0050: D5 86 AF C7 15 EA FF 55   C1 C3 42 A0 01 9A ED 86  .......U..B.....
0060: 2B D4 F8 AE D3 2C 30 27   5E A6 D1 E3 DA 7E EB E4  +....,0'^.......
0070: 5A 35 BD C4 D9 07 2E F5   96 D3 B1 3E 7A F0 C4 3A  Z5.........>z..:
0080: 63 A8 42 5E 6C 0D E0 6F   AF AF EF 44 76 80 CD AC  c.B^l..o...Dv...
0090: C0 0B 55 F2 E8 48 91 7B   CF 40 1A BD 34 26 2C E1  ..U..H...@..4&,.
00A0: AD D9 9C A7 CA 3D D1 35   4B 01 86 6A 94 1D 37 A2  .....=.5K..j..7.
00B0: BD 9B 41 72 1C E1 AC CA   09 68 FF 30 FF EE F0 6F  ..Ar.....h.0...o
00C0: 75 88 1B 8C 51 DA 6E E9   4F AF 51 53 81 05 56 B8  u...Q.n.O.QS..V.
00D0: BE 80 97 7F 3B 5C 3F 75   7C 21 12                 ....;\?u.!.
[Raw read]: length = 5
0000: 17 03 01 01 4C                                     ....L
[Raw read]: length = 332
0000: 52 B2 A6 EB 22 CA 18 2F   E6 E9 FD B6 26 E8 5E A6  R..."../....&.^.
0010: 2A FC 69 42 B9 77 94 65   0D 32 56 F8 4A C0 52 D0  *.iB.w.e.2V.J.R.
0020: 6D 15 F6 A2 1F 90 28 43   21 D2 2F B8 96 35 90 CF  m.....(C!./..5..
0030: 52 0F 73 3C D0 75 14 70   62 01 A0 41 2A 25 0A F2  R.s<.u.pb..A*%..
0040: 18 DB 90 69 F5 1E DC 6A   E8 58 A9 C3 A5 E3 C3 B4  ...i...j.X......
0050: 61 CC 57 BC 1F 24 4F 92   F6 99 4B 2F 95 66 0C 51  a.W..$O...K/.f.Q
0060: CA 28 68 67 0C 56 A1 8D   B9 F9 5C 0B 1E F8 98 41  .(hg.V....\....A
0070: 0A EB ED 07 42 10 47 85   8E 86 13 CC E4 2B 37 7B  ....B.G......+7.
0080: 96 F6 62 90 82 89 11 A2   46 42 88 35 F4 F3 0D 55  ..b.....FB.5...U
0090: 0D FE 52 42 71 A0 A2 D3   A4 2C 8F 10 56 1A 5A D1  ..RBq....,..V.Z.
00A0: 48 DC E6 89 40 6F 93 E8   C0 77 A2 5F 4E 1F D5 18  H...@o...w._N...
00B0: CC 48 E2 87 91 BD ED 19   CF 12 9F E5 47 8F 48 29  .H..........G.H)
00C0: A1 B1 1B 13 F1 E4 40 A1   67 9D C5 D7 FF 6B B8 AA  ......@.g....k..
00D0: A8 C0 A2 F5 4C 69 F8 5D   3B DF C8 F0 14 1F FB FB  ....Li.];.......
00E0: 92 EF B4 1C 6D 35 43 B8   04 7C B0 81 92 BC B6 F1  ....m5C.........
00F0: 9C DC BC AB 1E DF AB 43   A0 0D 57 EB 4F C8 B7 CF  .......C..W.O...
0100: A8 26 FB 66 D5 FB EC 28   E7 47 7D 24 AC 54 3A C0  .&.f...(.G.$.T:.
0110: E2 D7 12 ED FF 2C A0 F8   E3 C9 61 AB CA AF 49 F2  .....,....a...I.
0120: BB BE A9 01 76 0D 5C A2   A9 9A 87 61 8B 96 05 89  ....v.\....a....
0130: EC F4 6B FA F6 DA C7 60   88 E4 B3 EE 54 41 48 70  ..k....`....TAHp
0140: 16 F6 09 CD 27 BB 3B A6   BF E4 70 FE              ....'.;...p.
main, READ: TLSv1 Application Data, length = 332
Padded plaintext after DECRYPTION:  len = 332
0000: 48 54 54 50 2F 31 2E 31   20 34 30 33 20 46 6F 72  HTTP/1.1 403 For
0010: 62 69 64 64 65 6E 0D 0A   44 61 74 65 3A 20 46 72  bidden..Date: Fr
0020: 69 2C 20 30 39 20 4A 75   6E 20 32 30 30 36 20 32  i, 09 Jun 2006 2
0030: 33 3A 33 30 3A 35 35 20   47 4D 54 0D 0A 53 65 72  3:30:55 GMT..Ser
0040: 76 65 72 3A 20 41 70 61   63 68 65 2F 32 2E 30 2E  ver: Apache/2.0.
0050: 35 32 20 28 46 65 64 6F   72 61 29 0D 0A 4C 61 73  52 (Fedora)..Las
0060: 74 2D 4D 6F 64 69 66 69   65 64 3A 20 54 68 75 2C  t-Modified: Thu,
0070: 20 31 31 20 4E 6F 76 20   32 30 30 34 20 31 35 3A   11 Nov 2004 15:
0080: 33 38 3A 34 35 20 47 4D   54 0D 0A 45 54 61 67 3A  38:45 GMT..ETag:
0090: 20 22 31 30 35 36 64 62   2D 66 35 62 2D 35 65 39   "1056db-f5b-5e9
00A0: 64 32 62 34 30 22 0D 0A   41 63 63 65 70 74 2D 52  d2b40"..Accept-R
00B0: 61 6E 67 65 73 3A 20 62   79 74 65 73 0D 0A 43 6F  anges: bytes..Co
00C0: 6E 74 65 6E 74 2D 4C 65   6E 67 74 68 3A 20 33 39  ntent-Length: 39
00D0: 33 31 0D 0A 4B 65 65 70   2D 41 6C 69 76 65 3A 20  31..Keep-Alive:
00E0: 74 69 6D 65 6F 75 74 3D   31 35 2C 20 6D 61 78 3D  timeout=15, max=
00F0: 31 30 30 0D 0A 43 6F 6E   6E 65 63 74 69 6F 6E 3A  100..Connection:
0100: 20 4B 65 65 70 2D 41 6C   69 76 65 0D 0A 43 6F 6E   Keep-Alive..Con
0110: 74 65 6E 74 2D 54 79 70   65 3A 20 74 65 78 74 2F  tent-Type: text/
0120: 68 74 6D 6C 3B 20 63 68   61 72 73 65 74 3D 49 53  html; charset=IS
0130: 4F 2D 38 38 35 39 2D 31   0D 0A 0D 0A 6B F3 0D F1  O-8859-1....k...
0140: 9C 0D 67 5F DE 03 54 70   44 7C E8 89              ..g_..TpD...
Exception in thread "main" java.io.IOException: Server returned HTTP response code: 403 for URL: https://www.jam.ca/
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1149)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:234)
    at de.tutorials.SecureWebPageReaderExample.main(SecureWebPageReaderExample.java:33)
Gruß Tom
 
Hallo

danke für die schnelle Antwort. Hat mir sehr weitergeholfen. Die angegebene Websit war nur ein Beispiel, welches ich aus dem Beispiel von Sun Website übernommen hatte. Ich möchte ja auf die Website meines Internetproviders zugreifen und den aktuellen Stand meines Traffics auslesen.

Nach einigem suchen habe ich entdeckt wo ich das Zertifikat über den InternetExplorer speichern kann. Da ich nun eine Zertifikat hatte konnte ich es auch mit dem Keytool zu Java übertragen.;-)

Dann ist da noch eine Frage:
Im moment gebe ich dem Programm beim aufruf den keystore und das passwort für den keystore mit. Kann ich das Importieren des Zertifikates auch fest in den java quellcode einbauen? So dass das Programm das Zertifikat lädt und je nach Einstellung fragt ob ich diesem zetrifikat vertrauen oder es einfach akzeptiert? ich möchte nicht immer das cetifikat importieren und das passwort übergeben.

Danke für die Hilfe

gruß

speedy
 
Zuletzt bearbeitet:
Zurück