www.archive-net-2013.com » NET » E » ECKENFELS

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".

    Archived pages: 629 . Archive date: 2013-09.

  • Title: Infrastruktur - Einträge für Juli 2013
    Descriptive info: Einträge für Juli 2013.. Keine Einträge vorhanden.. (Seite 1 von 1, insgesamt 0 Einträge)..

    Original link path: /archives/2013/07/C6.html
    Open archive

  • Title: IT Blog
    Descriptive info: 2013.. September.. 0 Einträge.. (ganz anzeigen).. (Überschriften anzeigen).. August.. Juli.. Juni.. Mai.. 1 Einträge.. ganz anzeigen.. Überschriften anzeigen.. April.. März.. Februar.. Januar.. 2012.. Dezember.. November.. Oktober.. 2011.. 2010.. 2009.. 2008.. 4 Einträge.. 2 Einträge.. 2007.. 3 Einträge.. 2006.. 5 Einträge.. 2005.. 2004..

    Original link path: /archive/C6
    Open archive

  • Title: Java 7 - Probleme mit neuen JSSE Features - IT Blog
    Descriptive info: Java 7 - Probleme mit neuen JSSE Features.. Eckpunktepapier der BNetzA zu Smart Grids und Markets.. |.. E-Mail versenden von Amazon EC2 (SES mit Exim).. 11:36.. Samstag, 7.. Januar 2012.. Mit Java 7 sind in den SSL/TLS Provider von Oracle einige.. neue Funktionen.. eingezogen.. Darunter der schon lange erwartete Support für TLSv1.. 1 und TLSv1.. 2, aber auch die Unterstützung der.. TLS Extensions.. u.. A.. für die Server Name Indication(SNI).. Letzteres wird dazu verwendet virtuelle Hosts auf einem SSL Port zu unterstützen: Bisher konnte ein SSL Server nämlich nicht wissen an welchen (der potentiell vielen) virtuellen Dienste hinter einer IP Adresse sich der SSL Client wenden will.. Besonders ärgerlich ist dies im Fall von HTTP/s, dort ist es die Regel dass Hoster sehr viele Kunden-Domains hinter ein und der selben IP-Adresse betreiben.. In HTTP/1.. 1 wird der gewünschte Servername in der Anfrage mitgegeben (Host: Header).. So kann der HTTP Server entscheiden welche Webseiten er ausliefern soll.. Im Falle des SSL Server Zertifikats (welches im SSL Handshake schon vor der HTTP Anfrage ausgetauscht wird), kann dies der Webserver aber nicht.. Er muss raten welches Zertifikat er dem Client präsentieren soll, und das schlägt natürlich in der Regel fehl.. Mit der Extension wird der Servername auch im Handshake mitgeschickt, und der Server kann sein Zertifikat passend auswählen.. Problem bei der Geschichte ist: der Server darf auf eine solche Namensanfrage mit einem SSL Alert (Warning) reagieren.. In dieser sagt er, dass er sich für den angefragten Host nicht zuständig fühlt.. Das kommt bei aktuellen Webserver Installationen häufig vor, weil diese einfach nicht korrekt eingerichtet sind (und die modernen Browser die SNI unterstützen diese Warnung auch einfach ignorieren).. Da das zurückgelieferte Default Zertifikat oftmals den richtigen Hostnamen (in einer der Attribute) enthält, klappt der gesicherte Handschlag im Alltag dennoch.. Nicht jedoch mit Java 7 SSL Clients, JSSE macht daraus eine fatale Exception:.. javax.. ssl.. SSLProtocolException: handshake alert: unrecognized_name.. at sun.. security.. ClientHandshaker.. handshakeAlert  ...   Kerberos Authentifizierung würde nur auf die erste Art und Weise funktionieren, da hierfür die Identität des Servers bekannt sein muss.. Der Punkt a) ist ein schneller Fix, kommt aber in der Praxis eigentlich nicht in Frage, da man mit Java 7 ja eher daran Interesse hat TLSv1.. 1 oder TLSv1.. 2 zu verwenden um Lücken wie z.. BEAST-Angriff.. auszuschließen.. Daher bleibt es nur übrig entweder den Anwendungscode zu ändern (oder wenn man diesen nicht selbst geschrieben hat, wie im Falle einer häufig verwendeten URLConnection oder beim Apache HTTPClient) oder aber mindestens eine eigene SSLSocketFactory zu implementieren, die auf die 2-stufige Erzeugung des SSLSockets aufsetzt.. : Ich habe in den Sourcen grade eine System Property gefunden, mit der man abschalten kann, dass der ClientHandshaker die SNI Extention sendet.. Dies lässt sich als Work around gut verwenden: System.. setProperty("jsse.. enableSNIExtension", "false"); (muss vor der Verwendung von SSL Klassen im Programm, oder auf der Command Line gesetzt werden).. Mit Java 7 sind in den SSL/TLS Provider von Oracle einige neue Funktionen eingezogen.. 2, aber auch die Unterstützung der TLS Extensions u.. Er muss raten welches Zertifikat er dem.. Trackbacks.. Trackback-URL für diesen Eintrag.. Keine Trackbacks.. Ansicht der Kommentare: (.. Linear.. | Verschachtelt).. Noch keine Kommentare.. Kommentar schreiben.. Name.. E-Mail.. Homepage.. Antwort zu.. [ Ursprung ].. Kommentar.. BBCode.. -Formatierung erlaubt.. Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.. Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen.. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden.. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss, um dieses Verfahren anzuwenden.. Hier die Zeichenfolge der Spamschutz-Grafik eintragen:.. Pavatar.. Gravatar.. Favatar.. MyBlogLog.. Autoren-Bilder werden unterstützt.. Daten merken?.. Verlinkung.. [434].. [394].. [462].. http://itblog.. net/ar.. chives/478-SSLTLS-BEAST-Luecke.. html.. Eingehende Links.. koehntopp.. [20].. www.. google.. [3].. at.. [2].. ch.. rainbowtele.. plus.. url.. [1].. iconfactory.. twikle.. lu.. Blogsphere.. netcraft uptime.. Technorati Profile..

    Original link path: /archives/484-Java-7-Probleme-mit-neuen-JSSE-Features.html
    Open archive
  •  

  • Title: SSL/TLS BEAST Lücke - IT Blog
    Descriptive info: SSL/TLS BEAST Lücke.. 2-wege Authentifizierung.. Java Stream mit Puffer einlesen.. 10:49.. Samstag, 3.. Dezember 2011.. Im September 2011 haben die Sicherheitsforscher Duong und Rizzo.. nachgewiesen.. , dass eine - seit.. 2002 bekannte.. und in TLS 1.. 1 behobene - Schwachstelle in den SSL 3.. 0 und TLS 1.. 0 Verschlüsselungsprotokollen nicht nur theoretisch ist, sonder wirklich ausgenutzt werden können.. Unter bestimmten Bedingungen erlaubt diese Schwachstelle einem Angreifer Teile aus einer SSL/TLS geschützten Übertragung zu ermitteln.. Gezeigt wurde dies am Beispiel eines abgefangenen paypal http Session Cookies, was erlaubte eine Browser Sitzung zu übernehmen.. Das Problem ist unter dem Namen „BEAST“ (Browser Exploit Against SSL/TLS) bekannt, und wird unter der Common Vulnerability ID.. CVE-2011-3389.. geführt.. Bei der Demonstration wurde ein Java Applet verwendet um die notwendigen Daten einzuschleusen, nach Duong/Rizzo es soll aber auch mit WebSockets oder JavaScript XHR Aufrufen möglich sein.. Dies zugrundeliegende kryptografische Schwäche ist ein generelles Problem vom SSL 3.. 0/TLS 1.. Es wurde aber als 2002 nur als theoretischer Angriff gesehen, jetzt sind Angriffe mit Hilfe der erweiterten Funktionen des WebBrowsers bekannt geworden.. Da es für einen erfolgreichen Angriff nicht nur notwendig ist, dass die verschlüsselte Verbindung abgehört werden kann, sondern auch, dass der Angreifer in den Klartext eigene Stück einfügen kann (Chosen Plaintext).. Dies ist durch die Verwendung von JavaScript auf Webseiten relativ einfach möglich.. Wird bei SSL/TLS eine Blockchiffre im CBC (Cipher Block Chaining) Modus verwendet, so benutzt SSL 3.. 0 einen vom Vorgängerblock abgeleiteten Initialisierungsvektor.. Da sich dieser ermitteln lässt ist hier ein Problem gegeben, das durch geschicktes einfügen von Füllzeichen in den Klartext erlaubt Inhalte zeichenweise an den Blockgrenzen zu ermitteln.. Dies zu behaben bedarf es einer neuen Protokollversion: TLS 1.. Aber in TLS 1.. 0 und SSL 3.. 0 kann es nicht so einfach verhindert werden.. Somit hilft mittelfristig nur ein Update auf diese „neuen“ Protokolle, die zwar schon Jahrelang verfügbar sind, sich aber in der Praxis in den  ...   wird TLS 1.. 1 und 1.. 2 unterstützt.. Der gleiche Fix wird gerade in Chrome Beta 15 getestet, es gab schon.. Kompatiblitätsprobleme.. Für Opera 10.. 51 war der Fix geplant, ist aktuell noch nicht vorhanden (Opera benutzt keine WebSockets).. Dieser Schutz wird auch in Mozilla Firefox (via.. NSS library.. ) eingebaut, wartet dort aber noch auf eine Lösung der Kompatibilitätsprobleme und ist somit nicht Bestandteil von Firefox 7 (Mozilla sagt die WebSockets sind nicht verwundbar).. Es ist zu erwarten dass Microsoft für den Internet Explorer nachzieht, bisher.. empfehlen.. sie nur die RC4 Chiffre zu bevorzugen (Windows XP scheint dies zu tun), Vorsicht bei dem Umgang mit http Seiten walten zu lassen und ggf.. TLS 1.. 1 auf Client und Server zu aktivieren (immerhin unterstützen Microsoft Produkte dies schon, wird nur aus Kompatibilitätsgründen nicht aktiviert).. Die Option TLS 1.. 1 (oder neuer) zu verwenden wird leider noch einige Zeit auf sich warten lassen.. Besonders da SSL 3.. 0 abgeschalten werden müssten, um zu verhindern das Angreifer diese erzwingen.. Leider hängt openssl der TLS 1.. 1 Entwicklung nach, so dass auch Apache hier nur mit der RC4 Cipher gerettet werden kann (alternativ kann man mod_gnutls oder mod_nss verwenden, die sind aber beide weniger stark in der Nutzung).. Trackbacks (2).. Im September 2011 haben die Sicherheitsforscher Duong und Rizzo nachgewiesen, dass eine - seit 2002 bekannte und in TLS 1.. Das Problem ist unter dem Namen „BEAST“ (Browser Exploit Against SSL/TLS) bekannt, und wird unter der Common Vulnerability ID CVE-2011-3389 geführt.. Es wurde abe.. SQL Server JDBC Probleme.. Von den Änderungen in Java SE 6.. 0 Update 29 zum Schutz vor SSL BEAST Angriffen hatte ich schon berichtet.. Ein Opfer dieser Kompatibilitätsänderung sind die JDBC Treiber für den Microsoft SQL Server (jTDS und Microsoft JDBC Driver for SQL Server sind betro.. Weblog:.. Aufgenommen:.. Jan 01, 04:29.. Letzteres.. Jan 07, 12:14.. [347].. [406].. [312].. [354].. [323].. [262].. [328].. search.. sweetim.. bing..

    Original link path: /archives/478-SSLTLS-BEAST-Luecke.html
    Open archive

  • Title: SQL Server JDBC Probleme - IT Blog
    Descriptive info: Facebook Events im Google Kalender.. 03:31.. Sonntag, 1.. 0 Update 29 zum Schutz vor SSL BEAST Angriffen hatte ich schon.. berichtet.. Ein Opfer dieser Kompatibilitätsänderung sind die JDBC Treiber für den Microsoft SQL Server (.. jTDS.. und.. Microsoft JDBC Driver for SQL Server.. sind betroffen).. Beim Aufbau der Verbindung (TCP) direkt mit dem.. Treiber kommt es zu folgendem Fehler:.. java.. SQLException: I/O Error: Software caused connection abort: recv failed State : 08S01 Error : 0.. Und die folgende Exception wirft der.. com.. microsoft.. sqlserver.. jdbc.. SQLServerException: Connection reset State : 08S01 Error : 0.. Wenn die Treiber durch einen Connection Pool benutzt werden, oder innerhalb einer Datasource, so kann es sogar zum Hängen (wegen Endlosschleife) kommen.. Eine Möglichkeit ist es, beim jTDS Treiber anzugeben, dass man kein SSL machen möchte (sollte aber eigentlich auch der default sein, laut.. jTDS FAQ.. Dies kann man mit dem JDBC URL Property ".. ;ssl=no.. " erreichen.. Wenn der Server allerdings auf "Force Encryption" konfiguriert ist, so wird er dann die Logins ablehnen.. Beim Microsoft  ...   JavaSE 6.. 0 Update 30 behoben sei, das kann ich aber weder nachvollziehen, noch lassen die ReleaseNotes darauf schließen.. Ich habe mal einen.. Fehlerbericht bei jTDS.. dazu geöffnet.. Ein Opfer dieser Kompatibilitätsänderung sind die JDBC Treiber für den Microsoft SQL Server (jTDS und Microsoft JDBC Driver for SQL Server sind betroffen).. Beim Aufbau der Verbindung (TCP) direkt mit dem jTDS Treiber kommt es zu folgendem Fehler: java.. SQLException: I/O Error: Software caused connection abort: recv failed State : 08S01 Error : 0 Und die folgende Exception wirft der Microsoft JDBC Driver for SQL Server: com.. SQLServerException: Connection reset State : 08S01 Error : 0 Wenn die Treiber durch einen Connection Pool benutzt werden, oder innerhalb einer Datasource, so kann es sogar zum Hängen (wegen Endlosschleife) kommen.. Eine Möglichkeit ist es, beim jTDS Treiber anzugeben, dass man kein SSL machen möchte (sollte aber eigentlich auch der default sein, laut jTDS FAQ).. Dies kann man mit dem JDBC URL Property \";.. [430].. [411].. Microsoft JDBC Driver for SQL.. Server.. [289].. [442].. [18].. fr..

    Original link path: /archives/482-SQL-Server-JDBC-Probleme.html
    Open archive

  • Title: Java Stream mit Puffer einlesen - IT Blog
    Descriptive info: E-Mail versenden von Amazon EC2.. 23:45.. Freitag, 9.. Bin heute zufällig über folgende Methode gestolpert:.. String readToString1(InputStream in) throws IOException { byte[]buf = new byte[256]; StringBuilder sb = new StringBuilder(); int n; do { n = in.. read(buf, 0, 256); if (n > 0) { String s = new String(buf, 0, n, "UTF-8"); sb.. append(s); } } while(n > 0); return sb.. toString(); }.. Diese Funktion soll einen InputStream dessen Zeichen UTF-8 codiert sind in einen String lesen.. Problem (mal abgesehen von der unnötigen Verwendung des if und den temporär angelegten String Objekten) bei dieser Funktion ist allerdings, dass der 256-byte Puffer in einen String umgewandelt wird, denn dabei werden ein oder mehrere Bytes durch den Zeichenkonverter gelesen.. Falls der Zeichenkonverter dabei am ende des Puffers anlangt, so ist das Zeichen unvollständig.. Das führt dann dazu dass ein Ersetzungszeichen (das Fragezeichen) am Ende des String steht.. Man sollte solche starren bytepuffer also vermeiden, wenn man diese in Zeichen umwandeln will.. Besser ist folgendes Vorgehen:.. String readToString2(InputStream in) throws IOException { char[] buf = new char[128]; StringBuilder sb = new StringBuilder(); Reader r = new InputStreamReader(in, "UTF-8"); int n; while((n = r.. read(buf, 0, 128)) != -1) { sb.. append(buf, 0,  ...   erste Methode die 2 Bytes eines Umlauts, und deswegen erscheinen an diesen Stellen das Füllzeichen des Character Konverters.. Bei UTF-8 streams ist es unwahrscheinlich dass ein multi-byte Zeichen ausgerechnet genau auf eine Blockgrenze fällt - umso unwahrscheinlicher ist es, dass ein Problem damit beim Testen auffällt.. Übrigens ist es nicht notwendig hier einen BufferedInputStream oder BufferedReader zu verwenden.. Der Reader wird ja bereits mit einem char array buffer (und nicht einzelnen Zeichen) gelesen.. Zudem liest der InputSreamReader() aus dem darunterliegenden InputStream mit einem StreamDecoder der einen eigenen Lesepuffer (bei den Sun Klassen ist das ein 8kb Puffer) hat.. Bin heute zufällig über folgende Methode gestolpert:String readToString1(InputStream in) throws IOException { byte[]buf = new byte[256]; StringBuilder sb = new StringBuilder(); int n; do { n = in.. read(buf, 0, 256); if (n > 0) { String s = new String(buf, 0, n, \"UTF-8\"); sb.. toString(); }Diese Funktion soll einen InputStream dessen Zeichen UTF-8 codiert sind in einen String lesen.. Man sollte solche starren bytepuffe.. Hi eckes,.. interessanter post.. Am Ende noch ein +hat ;).. Grüße,.. Michael (KA).. #1.. Michael.. am.. 13.. 12.. 2011 08:06.. Antwort.. ).. danke, gefixed :).. 17.. 2011 01:01.. #1: Michael am 13.. 1: Bernd Eckenfels am 17.. facebook..

    Original link path: /archives/479-Java-Stream-mit-Puffer-einlesen.html
    Open archive

  • Title: IPv6 default address selection in Java - IT Blog
    Descriptive info: IPv6 default address selection in Java.. Windows 7 hosts-file ignoriert IP Addressen mit 0 prefix.. STRIDE vs.. CIA.. 05:59.. Dienstag, 28.. Juni 2011.. Da bei IPv6 Nodes (also Rechner und andere Teilnehmer an einem Netzwerk) schon konzeptionell mehrere Adressen haben ist die Auswahl welche Quell- und Zieladresse verwendet werden soll eine wichtige Funktion.. Insbesondere dann wenn ein Rechner im Dual-Stack Betrieb sowohl IPv4 als auch IPv6 Adressen erreichen kann.. Bei IPv6 kann jedes Netzwerkinterface mehrere IPv6 Adressen haben, die dann entweder in unterschiedlichen Bereichen (Scopes) genutzt werden können (localhost, link, site, global) oder die unterschiedliche Bevorzugt (valid, prefered) sind.. Durch die Unterstützung von Renumbering (stateless autoconfiguration) haben Adressen unterschiedliche Lebenszeiten.. Zudem gibt es Adressen die über eine Migrations-/Tunnel Technologie wie Toredo, ISATAP oder 6to4 bereitgestellt werden, und nicht immer benutzt werden sollen.. Idealerweise würde eine Anwendung oder das Betriebssystem alle möglichen Quell/Ziel-Adresskombinationen ermitteln, und alle (aussichtsreichsten zuerst) durchprobieren.. RFC 3484.. beschreibt ein Verfahren für die.. Default Address Selection für IPv6.. Der von Microsoft Research verfasste Entwurf gibt Regeln vor wie die Auswahl von Ziel- und Quelladressen zu geschehen hat, und definiert auch eine Möglichkeit dass der Administrator eines Systems eigene Gewichtungen definieren kann.. Ideal wäre eine Laufzeit Funktion, der man einen Hostnamen übergibt, und die dann die Verbindung zur Gegenstelle herstellt und dabei alle Regeln des RFC 3484 (und dringend notwendiger.. zukünftiger Verbesserungen.. ) beachtet.. Durch die Trennung zwischen Kernel und Usermode, und aus Gründen der Kompatibilität mit existierendem Netzwerkcode verwenden die meisten* Systeme allerdings ein anderes Verfahren.. Bestehende Funktionen wie z.. getaddrinfo(3).. wurden erweitert: die Auflösung von Hostnamen in Adressen liefert jetzt eine nach Präferenzen sortierte Liste der Zieladressen zurück.. Dabei greift die Bibliotheksfunktion auf Adress-  ...   Fehlermeldung zurückgegeben werden die alle probierten Zieladressen benennt und den ersten (oder alle) Fehlermeldungen benennt.. Beispielhaft kann dies so aussehen:.. Socket connectToHost(String host, int port) throws UnknownHostException, SocketException { IOException firstException = null; InetAddress[].. addressArray = InetAddress.. getAllByName(host).. ;.. for(InetAddress addr : addressArray).. { try {.. return new Socket(addr, port).. ; } catch (IOException ex) { if (firstException == null) firstException = ex; } } // build informative error message StringBuilder msg = new StringBuilder("Unable to connect to host="); msg.. append(host); msg.. append(" port="); msg.. append(String.. valueOf(port)); msg.. append(" ["); for(int i=0;i addressArray.. length;i++) { if (i != 0) msg.. append(','); msg.. append(addressArray[i]); } msg.. append("]: "); msg.. append(firstException.. getMessage()); SocketException se = new SocketException(msg.. toString()); se.. initCause(firstException); throw se; }.. Dieser Code überlässt die Auswahl einer Quelle dem Kernel (es werden also nicht alle möglichen Kombinationen durchprobiert).. Ebenso ist kein Handling für Timeouts enthalten, und ein Cache der Verbindungszustände erinnert oder gar ein paralleler Aufbau zu mehreren Zielen ist noch nicht enthalten.. Trotzdem ist der Code schon recht komplex, sollte also nicht mehrfach implementiert werden müssen.. Von.. InetAddress.. getByName(String host).. würde ich auf jeden Fall Abstand nehmen.. Diese Methode gibt nur die bevorzugte Addresse zurück, und führt bei DualStack Anwendungen dazu, dass nicht IPv6 und IPv4 Adressen durchprobiert werden.. * Microsoft ist typischerweise Entwicklerfreundlicher und muss weniger Rücksicht nehmen auf etablierte APIs, deswegen gibt es die Funktion.. WSAConnectByName().. die alle Addressen selbst durchprobiert.. ** Java kennt.. Socket(String name, int port).. , dieser Konstruktor verwendet aber keine Schleife um alle möglichen Adressen zu kontaktieren.. Idealerweise würde eine Anwendung oder das Betriebssystem alle möglichen Quell/Ziel-Adresskombinationen ermitteln, und alle (aussichtsreichsten zuerst) durchpr.. [387].. [638].. [405].. [4772].. domaincrawler.. [23].. jetsli.. [16]..

    Original link path: /archives/474-IPv6-default-address-selection-in-Java.html
    Open archive

  • Title: Java Programming - IT Blog
    Descriptive info: jarsigner mit Tokens.. 23:37.. Donnerstag, 2.. Um Java Applets und JAR Files zu signieren nutzt man den jarsigner, der normalerweise ein Java-Keystore (.. jks) file nutzt.. Es ist allerdings ungünstig Codesigning Zertifikate einfach so in Files herumliegen zu haben (auch wenn man diese gesondert sichert).. Es ist anzuraten ein Zertifikat besser in einer SmartCard oder einem Token zu speichern.. Der Oracle jarsigner.. exe verwendet die Java Security Provider der JCE API.. Um damit ein Hardware Token anzusprechen gibt es im wesentlichen 2 Methoden.. Entweder den PKCS#11 Provider (benötigt eine PKCS#11 library (.. dll oder.. so) des Hardwareherstellers) oder unter Windows den Microsoft CryptoAPI (MSCAPI) treiber.. Letzteres hat den Vorteil dass die meisten Smartcards unter Windows 7 oder 2008 bereits Treiber beim einstecken installieren.. Diese Minitreiber sind nur begrenzt nutzbar, aber für das signieren reicht es aus.. Bei meinen Versuchen habe ich aber einige Einschränkungen gefunden:.. Es wird Java 5,6 oder 7(>b144) benötigt.. Ich habe nur die Java Distribution von Sun/Oracle getestet.. In der 64bit Variante wird der Provider aktuell nur von Java 7 ausgeliefert.. Über MSCAPI wird immer in getrenntem Dialog nach PIN gefragt.. Anbei Beispielbefehle zum auslesen des Keystores (in dem auch das Codesigning Zertifikat das auf dem USB Token gespeichert ist sichtbar ist) sowie dem Signaturvorgang:.. c:\Program Files (x86)\Java\jdk1.. 0_24\bin>keytool -list -storetype Windows-MY Keystore-Typ: Windows-MY Keystore-Provider: SunMSCAPI Ihr Keystore enthält 4 Einträge.. FIRMA AG, PrivateKeyEntry, Zertifikatsfingerabdruck (MD5): 57:EF:97:04:EA:91:EE:FF:CF:BF:7F:75:AE:E1:A2:7D.. 0_24\bin>jarsigner.. exe -storetype Windows-MY %TEMP%\test.. jar "FIRMA AG".. Als Speicher für die Zertifikate verwende ich ein.. Athena ASEKey Crypto Token.. in das ich mit den Athena IDProtect Tools auf einem anderen Computer das.. Codesigning Zertifikat von Verisign.. (Promo:WINQUAL99) importiert habe.. Das Zertifikat ist übrigens ein Authenticode Class 3 Zertifikat das es aktuell für Teilnehmer am Microsoft WinQual Programm für ein Jahr günstig ($99) gibt.. Entgegen den Angaben von Verisign lässt sich dieses auch problemlos für Java Signig verwenden.. Einziges Problem bei der Sache, mit -storepass oder -keypass lässt sich die PIN für die SmartCard nicht angeben, diese fragt immer mit einem Popup nach entsprechender Freigabe.. Ich habe in den Athena Tools keine Möglichkeit gefunden diese abzuschalten (allerdings geht es mit der PKCS#11 API, wie ich im nächsten Beitrag berichten werde).. 0_24\bin>jarsigner -verify -certs -verbose %T EMP%\test.. jar 134 Thu Jun 02 23:27:48 CEST 2011 META-INF/MANIFEST.. MF 258 Fri Jun 03 00:04:02 CEST 2011 META-INF/FIRMA_AG.. SF 4764 Fri Jun 03 00:04:02 CEST 2011 META-INF/FIRMA_AG.. RSA 0 Thu Jun 02 23:23:38 CEST 2011 META-INF/ sm 15104 Sun Mar 06 04:56:06 CET 2011 jarsigner.. exe X.. 509, CN=FIRMA AG, OU=Software Development, OU=Digital ID Class 3 - Microsoft Software Validation v2, O=FIRMA AG, ST=Baden-Wuerttemberg, C=DE [certificate is valid from 21.. 10 01:00 to 22.. 11 00:59] X.. 509, CN=VeriSign Class 3 Code Signing 2010 CA [certificate is valid from 08.. 02.. 10 01:00 to 08.. 20 00:59] [KeyUsage extension does not support code signing] X.. 509, CN=VeriSign Class 3 Public Primary Certification Authority - G5 [certificate is valid from 08.. 11.. 06 01:00 to 17.. 07.. 36 01:59] [KeyUsage extension does not support code signing] s = signature was verified m = entry is listed in manifest k = at least one certificate was found in keystore i = at least one certificate was found in identity scope jar verified.. Update:.. Ich habe das ganze gerade mit der b144 von Java 7 getestet, und damit lassen sich sowohl mit 32bit als auch mit der 64bit Version der MSCAPI Provider für die Signatur von JAR Files via Smart Token nutzen.. Bei meinen Versuchen habe ich aber einige Einschränkungen gefunden: Es wird Java 5,6 oder 7(>b144) benötigt.. Ich habe n.. Amazon Web Services als PaaS Anbieter.. 02:16.. Donnerstag, 20.. Januar 2011.. Mit dem neuen (Beta) Dienst.. Beanstalk.. steigt Amazon in das Platform-as-a-Service Geschäft ein.. Vergleichbar mit dem.. Google AppEngine for Java.. Dienst können Java Entwickler einfach Web Anwendungen in WAR Files verpacken und in die Cloud hochladen.. Amazon kümmert sich um die Skalierung aller Komponenten.. Man könnte fast annehmen ursprünglich war das WAR Deployment Modell genau so gedacht.. Amazon rechnet die unterliegenden Infrastrukturdienste ab.. Das ergibt sich aus den Freiheitsgraden die man hat, macht die Rechnung aber komplex - und vor allem für Low-Traffic Anwendungen eventuell nicht gerade preiswert.. Die Amazon Beispielrechnung kommt z.. auf $30/Month.. Immerhin können die sehr günstigen EC2 Micro Instanzen ($0.. 02/h) genutzt werden.. Kommentare (3).. Mit dem neuen (Beta) Dienst Beanstalk steigt Amazon in das Platform-as-a-Service Geschäft ein.. Vergleichbar mit dem Google AppEngine for Java Dienst können Java Entwickler einfach Web Anwendungen in WAR Files verpacken und in die Cloud hochladen.. Lambdas in Java.. 21:27.. Samstag, 4.. April 2009.. Gerade bastle ich an einem Wrapper für DataSources der im Umgang mit Datenbanken helfen soll (zusätzliche Statistiken, blocking bei DB Fehlern und pausieren von DB Anfragen).. Dabei wrappe ich zwei Methoden getConnection() und getConnection(String, String).. Nur der Aufruf der realen Methode unterscheidet sich, der restliche Code ist in beiden Methoden gleich:.. CODE:.. public Connection getConnection String user, String pass.. { verifyState ; while true { try { Connection c = ds.. getConnection user, pass ; verifyConnection c ; // throws SQLEx return c; } catch SQLException e { handleException e ; // throws SQLEx } } } public Connection getConnection.. getConnection ; verifyConnection c ; // throws SQLEx return c; } catch SQLException e { handleException e ; // throws SQLEx } } }.. Im Sinne von DRY (don't repeat yourself) ist dies aber unschön, weil der (in Realität noch komplexere) Retry code doppelt vorkommt, und ich immer beide Methoden anpassen muss.. Dieses Problem kommt oft bei Frameworks vor, und nennt sich ".. the whole in the middle.. " Muster.. Eine Lösung wäre:.. public Connection getConnection String user, String pass { return smartConnect true, user, pass ; } public Connection getConnection { return smartConnect false, null, null ; } Connection smartConnect boolean hasArgs, String user, String pass { verifyState ; while true { try { Connection c; // --- the whole in the middle if hasArgs c = ds.. getConnection user, pass ; else c = ds.. getConnection ; //  ...   int[] vals = new int[8]; for (int i = 0; i.. Dass dieser Code "falsch" ist weil er jeweils einen neuen PRNG erzeugt ist offensichtlich, warum es aber keinerlei vernünftig verteilte Zufallszahlen liefert (trotz den unterschiedlichen Seeds) ist eine ganz andere Sache, die er in seinem.. Artikel.. gut beschreibt.. Fehlermeldung des Jahres 2008.. 20:06.. Mittwoch, 10.. Dezember 2008.. Unknown state 0.. Please contact the creator of my caller.. impl.. SHCInitiatorProcessor.. init(SHCInitiatorProcessor.. java:155) and tell her/him to please use some states that do not make me sad.. This warning has no further impact.. ROTFLBTC.. Java Heapdumps und IBM.. 19:43.. Montag, 1.. IBM JVM.. unterscheidet sich in einigen Aspekten deutlich von der Sun JVM.. Im Bereich Betrieb gibt es eine ganze Reihe von Features die im IBM Java Diagnostics Guide (.. 5.. 6.. ) zusammengefasst sind.. Einen Bereich - den Java Heapdump - möchte ich hier mal näher beleuchten:.. Die IBM JVM kennt den klassischen Java Heap Dump, also einen Abzug der Java Objekte im Speicher.. Diese Heap Dumps gibt es in verschiedenen Formaten.. IBM unterstützt eine Textvariante und das sogenannten.. Portable Heap Dump.. Format, eingeschaltet mit -Xdump:heap.. Problem ist, dass es nur von IBM Analysetools ausgewertet werden kann.. Einer der besten freien Heap Dump Betrachtern ist das von der SAP gestiftete Projekt.. Eclipse MAT.. Im Sun Umfeld sind diese Heap Dumps im HPROF Binary Format.. Das Memory Analyser Tool kann deswegen Dumps von Sun, SAP und HP VM lesen.. Gerade hat aber IBM ein Eclipse Pluging bereitgestellt, den.. IBM DTFJ Adapter.. Dieses Plugin der den MAT um Import Möglichkeiten erweitert kann aber das PHD Format nicht verarbeiten.. Die Java spezifischen Heap Dumps haben ein Vorbild: die Speicherabzüge (Core Dumps) der Betriebsysteme.. Core Files oder Dr.. Watson Logfiles werden angelegt wenn eine Anwendung eine kritische Ausnahme verursacht (z.. Zugriffsschutzfehler).. Im Falle der IBM VM kann man solche Core Dumps aber ebenfalls für die Analyse von Java Heaps verwenden.. Die von IBM genannten.. System Dumps.. werden mit der -Xdump:system option bei der VM eingeschaltet.. Wenn ein Core Dump stattfindet (entweder bei OutOfMemeoryErrors, bei Signalen, einem echten JVM Crash oder bei frei definierbaren Events) so wird dieser im System spezifischen Format in ein File geschrieben.. IBM liefert ein Tool mit das sich jextract nennt (und im JRE Unterverzeichnis des SDK zu finden ist).. Man muss dabei die jextract Version direkt aus dem verwendeten JRE nehmem (insbesondere auch auf dem Rechner auf dem der Coredump erzeugt wurde).. Dies packt den aufbereiteten Core Dump zusammen mit systemspezifischen Details (z.. Kopien der Symbole in den Libraries) in ein ZIP File.. Dieses bearbeitete ZIP File kann direkt in den MAT (mit IBM Update) importiert werden.. Meiner Erfahrung nach klappt dies nur, wenn jextract keine Warnung oder Fehler gemeldet hat.. Der Ansatz auf dem Produktivsystem den Dump vorzuverarbeiten finde ich ganz geschickt, denn nicht immer hat der Entwickler Zugriff auf ein System mit vergleichbarer Kapazität.. Übrigens kann dieses ZIP auch von dem IBM Diagnose Tool Framework for Java verarbeitet werden, so kann man Analyseprogramme die den Heap durchsuchen auch direkt in Java schreiben und auf dem Produktivserver ausführen.. Trackback (1).. Die IBM JVM unterscheidet sich in einigen Aspekten deutlich von der Sun JVM.. Im Bereich Betrieb gibt es eine ganze Reihe von Features die im IBM Java Diagnostics Guide (5.. 0, 6.. 0) zusammengefasst sind.. Einen Bereich - den Java Heapdump - möchte ich hier mal näher beleuchten: Die IBM JVM kennt den klassischen Java Heap Dump, also einen Abzug der Java Objekte im Speicher.. IBM unterstützt eine Textvariante und das sogenannten Portable Heap Dump Format, eingeschaltet mit -Xdump:heap.. Einer der besten freien Heap Dump Betrachtern ist das von der SAP gestiftete Projekt Eclipse MAT.. Gerade hat aber IBM ein Eclipse Pluging bereitgestellt, den IBM DTFJ Adapter.. Dieses Plugin der den MAT um Import Möglichkeiten erweitert kann aber das.. Bewerbung.. 02:20.. Dienstag, 11.. November 2008.. Immer mal wieder erreichen mich seltsame Blindbewerbungen.. Ab und zu frage ich sogar nach, woher denn die Annahme stammt, ich würde Stellen anbieten.. Bisher habe ich noch nie eine Reaktion erhalten.. Deswegen nehme ich mir die Freiheit das Anschreiben einer solchen Blindbewerbung hier zur Unterhaltung wiederzugeben.. Zum besseren Verständnis habe ich meine Gedanken eingefügt :).. Sehr geehrte Damen und Herren,.. ich bewerbe mich bei Ihnen als Java/J2EE-Entwickler.. Nach.. jahrelangem Studium.. [ohne Abschluss].. mit Schwerpunkten Künstliche Intelligenz und Computergrafik und mit breit angelegter Informatik-Bildung, habe ich mich entschieden, meinen Schwerpunkt einer angehenden Arbeitstätigkeit im Java-Umfeld zu suchen.. Ich bin qualifiziert, die von Ihnen.. [nicht].. angebotene Tätigkeit auszuüben, da ich bereits während meines Studiums Erfahrungen mit der Konzeptionierung und Realisierung von Software-Projekten,.. in Gruppen mit jeweils mehreren Personen.. [Ah, da hat doch Tatsächlich jemand die Seminare und Übungen besucht].. gemacht habe.. [Ich habe sonst keinerlei Praxiserfahrung].. Während des Studiums habe ich immer wieder mit Java programmiert, zumeist Applets.. [entsprechend Umfanreich waren diese Gruppenprojekte].. Bis vor kurzem befand ich mich in einer Java-Weiterbildungsmaßnahme.. [denn ich muss trotz Studium mich vom Arbeitsamt aushalten lassen].. , um die ich mich selbst.. seit langem bemüht.. habe.. [in der Zeit hätte ich sonst arbeiten müssen].. , da zum einen in Stellenangeboten frequentiert nach Java-Programmierern nachgefragt wurde, andererseits Java eine mir leicht zur Hand gehende Programmiersprache in Erinnerung geblieben war.. [Ist zwar schon Jahre her, aber wenn es sonst keine Jobs gibt.. Ich freue mich, wenn Sie mich zu einem Vorstellungsgespräch einladen würden.. Für Rückfragen - auch per E-Mail - stehe ich Ihnen gern auch kurzfristig zur Verfügung.. Mit freundlichen Grüßen.. Name der Redaktion bekannt.. Zum besseren Verständnis habe ich meine Gedanken eingefügt :) Sehr geehrte Damen und Herren, ich bewerbe mich bei Ihnen als Java/J2EE-Entwickler.. Nach jahrelangem Studium [ohne Abschluss] mit Schwerpunkten Künstliche Intelligenz und Computergrafik und mit breit angelegter Informatik-Bildung, habe ich mich entschieden, meinen Schwerpunkt einer angehenden Arbeitstätigkeit im Java-Umfeld zu suchen.. Ich bin qualifiziert, die von Ihnen [nicht] angebotene Tätigkeit auszuüben, da ich bereits während meines Studiums Erfahrungen mit der Konzeptionierung und Realisierung von Software-Projekten, in Gruppen mit jeweils mehreren Personen [Ah, da hat doch Tatsächlich je.. vorherige Seite.. (Seite 2 von 6, insgesamt 57 Einträge)..

    Original link path: /categories/7-Java-Programming/P2.html
    Open archive

  • Title: Java Programming - Einträge für September 2013
    Descriptive info: Einträge für September 2013..

    Original link path: /archives/2013/09/C7.html
    Open archive

  • Title: Java Programming - Einträge für August 2013
    Descriptive info: Einträge für August 2013..

    Original link path: /archives/2013/08/C7.html
    Open archive

  • Title: Java Programming - Einträge für Juli 2013
    Original link path: /archives/2013/07/C7.html
    (No additional info available in detailed archive for this subpage)



  •  


    Archived pages: 629