Avatar billede kasseper Nybegynder
19. juli 2004 - 15:14 Der er 17 kommentarer og
2 løsninger

certifikater - forklaring ønskes

Hej

Jeg sidder og prøver at finde hoved og hale i hele certifikat junglen.

Jeg sidder helt konkret med en sag hvor jeg skal lave en bætte applikation der skal kommunikere server/client via https.

Jeg skal derfor ha lavet et certifikat til serveren og et til clienten, så jeg kan lave min HTTPS forbindelse.

Godt så.

Jeg har ikke mulighed for at få et certifikat signed hos en CA, men er det ikke muligt at lave et rod certifikat selv også signere  et client certifikat selv...

SKAL LIGE SIGES, at jeg arbejder i Java, så alt skal være i Java terminologi.

OG nu ikke noget med at sige : jo jo det kan man godt.

Jeg leder efter grundig forklarende tekst og vejledning til hvordan jeg generere de forskellige certifikater, helst med keytool.....!
Avatar billede simonvalter Praktikant
19. juli 2004 - 15:29 #1
Jeg er på vej i seng så det bliver kun til en kommentar

Du selv lige sortere i hvad der er relevant for dig :)
http://java.sun.com/j2se/1.3/docs/tooldocs/win32/keytool.html
http://www.javaworld.com/javaworld/javatips/jw-javatip96.html <- HTTPS java client
http://www.javaworld.com/javaworld/javatips/jw-javatip111.html <- HTTPS tunneling SSSE
http://wiki.apache.org/cocoon/HTTPsSources <- import unknown ca

http://javaalmanac.com/egs/javax.net.ssl/pkg.html <- lidt af hvert med ssl
Avatar billede arne_v Ekspert
19. juli 2004 - 15:29 #2
Du kan sagtens bruge et self signed certifikat på server (browseren kommer
så op og spørger om man har tillid til det elle rej).

Du behøver ikke er certifikat på client medmindre du vil lade serveren
identificere brugerne via client certifikat.

Tomcat docs har en lille vejledning som faktisk er OK (og det meste
kan sikkert også bruge sselvom man ikke kører Tomcat).
Avatar billede arne_v Ekspert
19. juli 2004 - 15:31 #3
Avatar billede kasseper Nybegynder
19. juli 2004 - 15:46 #4
arne_v >> Jeg skal bruge et certifikat på klienten, da det ikke er browser, og at jeg godt vil ha at serveren skal kunne idenficere klienten, som du selv skriver.

Jeg kan se fra dit link, hvordan jeg laver et self-signed certifikat, men hvordan benytter jeg så det til at lave et klient certifikat ???
Avatar billede arne_v Ekspert
19. juli 2004 - 15:54 #5
Er det dig egen client app ? javax.net.ssl.SSLSocket ? javax.net.ssl.HttpsURLConnection ?
Avatar billede kasseper Nybegynder
19. juli 2004 - 15:56 #6
Ja det er min egen :

bare java.net.URL.

Det er en webservice via Apache tomcat, så den del var rigtig gættet :)
Avatar billede kasseper Nybegynder
20. juli 2004 - 13:43 #7
Det vigtigste er faktisk at serveren kan identificere klienterne.
Så det jeg skal laver er vel bare et self-signed certificat, smide det ud på de maskiner som skal komminukere med serveren, og derefter smide certificatet på serveren i apache, så den siger til brugeren, at kun dem med det her certificat kan komme igennem nåle øjet...Er det korrekt...?
Avatar billede arne_v Ekspert
20. juli 2004 - 14:10 #8
Du kan så vidt jeg ved fiske certifikatet ud af requesten på serveren.

Bruger du Axis på server ?
Avatar billede kasseper Nybegynder
20. juli 2004 - 14:26 #9
Jeps, men men men....

Jeg er ved at blive rimelig lost in translation, nej lost i mængder af tekst jeg har læst igennem, jeg forveksler det ene med det andet.....

Det som jeg tror jeg skal gøre er :

Lave et self-signed certificat på serveren.
Smide det ned acceptedcacert.pem på apache/conf/ssl.crt
For på den måde at fortælle at dette certificat er accepteret af serveren.
Sætte op i httpd.conf at denne path www.minserver.dk/minwebservice?wsdl kun kan nåes via  https.
Smide det self-signed cert. ud på klient maskinerne og så skulle den være der....eller hva...?

Alle de steder jeg læser, har det noget med web-browsere at gøre, så der lægger man sit self-signed cert på serveren, hvor efter klienterne(browserne) selv downloader certifikatet, eller hva ?

Jeg mangler virkelig virkelig meget en kogebogsopskrift på  præcis det jeg skal bruge...klient-identifikation vha. certificater, lidt ligesom en digital signatur, som jeg bare er et X.509 cert.......

baaaaaaah, jeg er forvirret...:)
Avatar billede kasseper Nybegynder
20. juli 2004 - 14:28 #10
det gik lidt stærk, sorry alle gnyfferne...:-7
Avatar billede kasseper Nybegynder
20. juli 2004 - 14:30 #11
Og det første jeps, var til at jeg bruger Axis.
Men egentlig også til at man godt kan hente cert. ud af requestet, men det skulle ikke være nødvendigt, da apache skal stå for hele client verifikationen, når det er gjort og mit request ryger videre ned til tomcat, skal jeg ikke bruge certifikatet til noget...!
Avatar billede arne_v Ekspert
20. juli 2004 - 14:46 #12
D.v.s. at du bare skal vide at client har et godkendt certifikat - du behøver
ikke vide hvilket certifikat = hvilken bruger det er når du skal processe requesten ?
Avatar billede arne_v Ekspert
20. juli 2004 - 14:47 #13
Jeg mener at der er en option til at kræve client certifikat i Tomcat
HTTPS connector.
Avatar billede kasseper Nybegynder
20. juli 2004 - 14:51 #14
OK, det lyder som en farbar vej, men hvordan....?
Avatar billede arne_v Ekspert
20. juli 2004 - 14:53 #15
Fra docs:

clientAuth

Set this value to true if you want Tomcat to require all SSL clients to present a client Certificate in order to use this socket. Set this value to want if you want Tomcat to request a client Certificate, but not fail if one isn't presented.
Avatar billede kasseper Nybegynder
20. juli 2004 - 15:30 #16
OK, men hvordan laver jeg så client certificate  ?????, det kan jeg bare ikke finde noget om.....:(
Avatar billede kasseper Nybegynder
20. juli 2004 - 16:25 #17
Jeg har fundet det, juhuuuuuu og hvor skal man så finde svaret , tadaaaaaa J2EE tutorial...geeeee tænk at jeg ikke kiggede der først :

http://java.sun.com/j2ee/1.4/docs/tutorial/doc/Security6.html#wp80737
Avatar billede kasseper Nybegynder
20. juli 2004 - 16:27 #18
Se lidt efter midten, overskrift :

Creating a Client Certificate for Mutual Authentication

Der står alt hvad jeg havde brug for at vide...

Jeg deler gerne lidt ud til arne_v for hans research af problemmet...så smid et svar
Avatar billede arne_v Ekspert
20. juli 2004 - 16:35 #19
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester