Evolution of the Web

Android SSL Problem mit Baltimore CyberTrust Root Zertifikat / oder wie man in Android Apps eigene SSL-Zertifikate verwendet

Schon wieder einen guten Monat her, dass ich hier geschrieben habe, aber wenn man sich auch mit solchen, wie den folgenden Problemen rumschlagen muss, ist es ja kein Wunder, dass man nicht mehr zum Schreiben von Blogbeiträgen kommt. :)

Folgende Problematik:

In unserer neuen Android App benutzen wir einen REST-Webservice, der über SSL angesprochen wird. Soweit für Android auch kein Problem, nur benutzen wir auf Serverseite  ein SSL-Zertifikat von Telesec welches als Root Zertifikat auf Baltimore Cybertrust verweist.

Jetzt würde man denken, na und, ist doch egal, Baltimore ist doch, neben zB. Verisign (was von Google selbst benutzt wird) eine bekannte Zertifizierungsstelle und ein von dort abgesichertes Zertifikat wird jawohl als Standard in jedem Betriebssystem enthalten sein ...

Tja, dieser gemeldete Bug beim Android-Tem aus dem Juni 2010 sagt darüber etwas ganz anderes:

http://code.google.com/p/android/issues/detail?id=9269

So also auch in unserem Fall. Unsere Android-Anwendung hängte sich immer wieder mit einer internen Android Fehlermeldung über ein ungültiges Zertifikat auf Serverseite auf.

Wenn man mit dem HandyBrowser direkt auf die Seite unseres Webservice gesurrft ist, kam natürlich auch eine SSL-Fehlermeldung, diese kann man im Browser aber wegklicken, und die entsprechende Seite trotzdem besuchen.

Innerhalb einer eigenen Anwendung gibt es diese Möglichkeit so nicht, und da die Antwort auf das Baltimore Root CA Problem von Seiten Google erst ein Jahr später kam (siehe Issue oben) und die Antwort darin bestand, doch bitte Android 2.3 zu nutzen, da erst dort das Root CA von Baltimore eingebaut wurde, war für uns, die wir auch noch Handys mit Android 2.1 unterstützen wollen, erstmal guter Rat teuer.

Zum Glück hat sich ein findiger Entwickler aus Lichtenstein diesem Problem angenommen und dafür eine Lösung entwickelt, um das Problem zu umgehen.

Hier der Blogbeitrag, der beschreibt, wie man sich ein eigenes Zertifikat in einem selbst erstellten Keystore im Ressourcen Verzeichnis seiner Android-Anwendung ablegt, und wie man dieses Zertifikat dann benutzt, um über einen eigenen WebserviceClient seinen SSL-gesicherten Webservice zu benutzen.

http://blog.antoine.li/index.php/2010/10/android-trusting-ssl-certificates/

Ich werde im Folgenden unsere Umsetzung beschreiben und mich dabei stark an den hier genannten Artikel anlehnen, da dieser auch mir bei der Impementierung als Vorlage geholfen hat.

#################

Tutorial zur Erstellung eines eigenen Keystores und
Nutzung dieses Keystores innerhalb eines eigenen Android Webservice-Clients

#ipc11 - International PHP 2011 Conference - Zusammenfassung

Das war sie also meine erste PHP Conference. Alles in allem eine wirklich gute Sache, wie es halt immer ist, es gibt gutes und weniger gutes zu sagen und ich werde hier einiges von dem was ich so gehört und erlebt habe, zusammentragen.

Da dieser Artikel etwas länger wird, erstmal ein kurzer Teaser, damit ihr wißt auf was ihr euch beim lesen einlasst.

Ich werde auf die Vorträge, dich ich besucht habe, eingehen und jeweils (soweit aktuell schon vorhanden) die Folien verlinken (Gesamtuebersicht der Folien auf joind.in) bzw. sonstige Informationen (zB. zum Speaker etc.) zusammentragen, und auch meine jeweilige Meinung zum Thema und auch zum Vortrag schreiben.

Außerdem werde ich noch einige persönliche Eindrücke von der Conference einfliessen lassen.

Wenn ihr also jetzt noch nicht total ermüdet seid, viel Spaß beim weiterlesen.
 

Hier erstmal eine Liste der Vorträge, die ich mir angehört habe (Details gibts dann weiter unten):

IPC - 10. Oktober 2011

  •         PHP 5.4 – An Update (Johannes Schlüter - Oracle)    
  •         Git-Crashkurs (Tobias Günther fournova GmbH
  •         Keynote: Rechts überholt – Überlebensstrategien für das große Innovations-Rennen  (Gernot Pflüger)
  •         Security 202 – Are you sure your Site is secure? (Arne Blankerts - thePHP.cc)
  •         PHP Testing Tools (Sebastian Bergmann - thePHP.cc)
  •         Redis – Your advanced in-memory key-value Store (Jordi Boggiano Nelmio)

IPC - 11. Oktober 2011

  •         PHP & MySQL – A Dream Team (Johannes Schlüter - Oracle)
  •         Profiling PHP Applications (Derick Rethans)
  •         Keynote: How the Web Evolves with Hypermedia (David Zuelke)
  •         Designing HTTP Interfaces and RESTful Web Services (David Zuelke - Bitextender GmbH)
  •         Symfony2 by Code (Lukas Smith Liip AG)
  •         Scalable high-performance Architectures (Stefan Priebsch - thePHP.cc)
  •         PHPopstar – Vom Folienableser zum spannenden Vortrag

IPC - 12. Oktober 2011

  •         Practical DevOps for Developers (Johann-Peter Hartmann - SektionEins GmbH)
  •         Keynote: Cloud by Example (Amazon Webservices) (Dr. Matt Wood - Amozon)
  •         Handys und Tablets: Webentwicklung jenseits des Desktops (Patrick Lauke - Opera Software ASA)
  •         Doctrine 2: Next Generation ORM (Benjamin Eberlei - SimpleThings GmbH)
  •         Vom lokalen Build zum Deployment (Manuel Pichler - Qafoo GmbH)

IPC - International PHP 2011 Conference in Mainz #ipc11 #wtc11

Ich bin die nächsten 3 Tage auf der IPC in Mainz unterwegs und werde mir verschiedenste Vorträge über aktuelle Themen in der Webentwicklung anhören.

Die Webtechconferenz findet parallel zur IPC im gleichen Kongresszentrum statt und bietet auch einige interessante Vorträge.

Ob über die Zukunft von PHP (5.4), über Git, Testing, Sicherheit in der Softwareentwicklung, Frontendsachen wie HTML 5, Javascript und CSS 3, NoSQL-DBs, Frameworks bis hin zu DevOpsGeschichten wie Continious Integration oder auch der Entwicklung von mobilen Apps ist einiges dabei, was mich interessiert.

Ich werde zu den Vorträgen die ich besuche, versuchen zeitnah jeweils etwas zu schreiben.
Außerdem schau ich mal, dass ich die Slides der Vorträge, die mich interessieren hier zusammentrage.

Hier vorab schonmal die Links beider Veranstaltungen:

http://phpconference.com/

http://webtechcon.de/

Wie Google funktioniert

Google, eine der größten Suchmaschinen weltweit, ist für die meisten Webnutzer (vor allem in Deutschland) das Eingangstor ins Web. Und so ist es für Webseitenbetreiber sehr wichtig, die eigenen Seiten so aufzubauen, dass sie vom Google Bot gut gefunden und indexiert werden können.

Dieses Thema ist inzwischen ein ganz eigener Bereich im Wirtschaftsmarkt Internet geworden und mit der Optimierung von Webseiten für Suchmaschinen, allen voran Google, verdienen viele Leute ihren Lebensunterhalt.

Doch was steckt eigentlich hinter diesem Suchriesen Google und wie funktioniert diese Suchmaschine genau?

Dieser Frage geht folgende Infografik nach, die einige Erkenntnisse über Google zusammenfasst:


Klicken zum Vergrössern

(Quelle: http://ppcblog.com/how-google-works/)

Diese Grafik bietet zwar keine wirklich neuen Informationen, fasst jedoch einige der schon bekannten Sachen ganz gut und kompakt zusammen. Ein Blick lohnt sich deshalb in jedem Fall.

HipHop für PHP

Heute hat Haiping Zhao, seines Zeichens Entwickler bei Facebook, in einem Blogeintrag auf der Developerseite von Facebook ein Projekt der Öffentlichkeit präsentiert, an dem er und ein kleines Team die letzten zwei Jahre gearbeitet haben.

HipHop für PHP.

Hinter diesem gewöhnungsbedürftigen Namen verbirgt sich ein neuer Cross-Compiler, der PHP Code in C++ Code kompiliert und so die Ausführungsgeschwindigkeit von Webanwendungen deutllich erhöhen (um bis zu 50 Prozent) sowie die Serverlast veringern soll.

Neben dem Geschwindigkeitsvorteil liegt ein weiterer Vorteil klar auf der Hand, den auch Haiping Zhao nennt.
PHP ist eine sehr einfach zu lernende, gut zu lesende und schnell und einfach zu schreibende Programmiersprache und so findet man im PHP Umfeld auch viel mehr Programmierer als zum Beispiel bei C++.

Wenn man nun diese Vorteile von PHP mit der höheren Ausführungsgeschwindigkeit von C++ kombinieren kann, wäre schon viel gewonnen.

Natürlich steckt auch dieses Projekt noch in den Kinderschuhen und so können noch keine PHP 5.3 Features wie Namespacing, usw. eingesetzt werden, aber es ist ein Anfang und da das Projekt als OpenSource unter der GPL auf GitHub veröffentlicht wird, bleibt abzuwarten was die weltweite Programmierer Community daraus macht.

Abschliessend noch mein persönlicher Eindruck von diesem Projekt, ohne es bisher ausprobiert zu haben:
Ich finde es irgendwie lustig, wenn man den Code einer Programmiersprache wie PHP, die in C geschrieben wurde, wieder zurück in C++ kompiliert :)

Hier noch der Link zum Blogpost auf Facebook:

http://developers.facebook.com/blog/post/358

Mozilla Firefox 3.6 released

Heute also die nächste Version des allseits beliebten Feuerfuchses.

Die 3.6er Version hat als auffälligtes neues Features die sogenannten "Personas" an Board, mit denen der eigene Fuchs noch mehr personalisiert werden kann und zwar duch Themes, die einfach durch einen Klick und ohne Browserneustart installiert werden können.

Weitere Features des neuen Firefox 3.6 gibts wie immer auf der Mozilla Website:

http://www.mozilla.com/en-US/firefox/features/

Und hier noch der Artikel zum Release im Mozilla Blog:

http://blog.mozilla.com/blog/2010/01/21/firefox-3-6-release/

PubSubHubbub - oder der schnellere Feed

Ich bin gerade auf diese relativ neue Technik aufmerksam gemacht worden, mit der es möglich wird, Feeds schneller  auszuliefern.

Im Grunde handelt es sich bei PubSubHubbub um ein HTTP-basiertes Protokoll, dass das Protokoll zum Ausliefern von RSS erweitert, und zwar durch PuSH.

Dies funktioniert vereinfacht gesagt durch eine Server2Server-Kommunikation, die auf WebHooks basiert. Server, die das neue Protokoll beherrschen, können, ähnlich wie bei Twitter Meldungen, über die WebHooks alle Follower eines Feeds unverzüglich über neue Artikel informieren.

Weitere Informationen über WebHooks gibts hier: http://www.webhooks.org/.

Für eine CM-Systeme gibt es auch schon Plugins, unter anderem für Wordpress oder auch Django.
Auch für Drupal ist schon ein Modul in der Entstehung, allerdings noch sehr neu das ganze.

Ich hab hier mal einige Informationen und Links zum Thema PubSubHubbub zusammengefasst:

SLES 10 und PHP 5.3

Wenn man aus den verschiedensten Gründen, zB. durch Vorgabe des Hosters, darauf angewiesen ist, mit dem schon etwas veralteten Betriebssystem
"Suse Linux Enterprise Server 10" zu arbeiten und trotzdem gerne mit der neuesten PHP Version 5.3.1 arbeiten möchte, kann man auch einfach die passenden PHP Pakete aus dem Repository von OpenSuse bekommen.

Wie das funktioniert und wo die für SLES 10 passende PHP Version liegt, werde ich hier kurz beschreiben:

Drupal und PHP 5.3

Da ich mal einige neue Funktionen von PHP 5.3 ausprobieren wollte, habe ich meinen dev-server mit der neuen PHP Version ausgestattet und dabei ist mir bei einigen meiner auf Drupal basierenden Projekte aufgefallen, dass ein paar Drupal Module noch Probleme mit der neuen PHP Version machen.

Kandidaten sind zB. das admin-menu, oder das date-modul.

Hier hab ich eine Seite gefunden, auf der einige Patches für die jeweiligen Module zusammengefasst sind:

http://drup.org/drupal-and-php-53

27 horizontal scrollbare Webseiten

Eigentlich mag ich es nicht, wenn man auf einer Webseite horizontal scollen muss, da das meist der usability nicht sehr zuträglich ist.

Dass es auch anders geht, zeigt diese Zusammenstellung von 27 Websites, die sich des horizontalen Scollens bedienen.
Einige davon sind wirklich sehenswert!

http://dzineblog.com/2009/07/web-design-ideas-27-horizontal-scrolling-websites.html

Inhalt abgleichen