LetsEncrypt now used everywhere

So today I decided to move all my certificates from StartSSL to LetsEncrypt. Not only is StartSSL really a bad CA with recent problems, but also they limit you with several obstacles that just don’t make any sense. They really just want you to sign up for one of their “great” extended validation thingys. Over the last couple months they have really improved the web interface but still this is not enough to deal with today’s challenges of delivering secure connections to users easily. Their new APIs and StartEncrypt service are merely a late effort, trying to outbid LE with a worse service. Not worth the time or effort.

The biggest problem is, that today I run multiple domains on my server and I need to provide one single certificate with all domains via Dovecot / Postfix. StartSSL allows you to have up to five domain names in the certificates they sign. (For example www.bruck.me and bruck.me would be a total of two domain names) So I’ve ran out of the possibility of using all my domains with one StartSSL certificate. Well, LE offers up to 100 domain names in one certificate. Of course wildcard certificates would be nicer, but this will work as well.

I can really recommend acmetool as an interface tool with LE. I didn’t want any of that fancy magic stuff, as I use a nice webinterface to manage all my webhosts. acmetool generates the certificates after verification and puts them into a central location on the disk. It also manages renewals automatically, so I don’t have to deal with those either. Exactly what I was looking for! Setup is quite easy! Excellent job LE, on making this whole process open source and providing us with the possibility to build any client we want!

So, to summarize: acmetool great, letsencrypt even better, StartSSL meeeh.

Properly setup proguard for an Android project

When dealing with an Android project you want to use Proguard to minify, shrink and possibly even obfuscate the code. The gains from this are huge and many smart minds have put a lot of thought into Proguard. We encountered that the TUM Campus App shrinked from 20 Megabytes to just 9 Megabytes with all the optimization in place – huge savings if you deploy it to 10k+ clients!

Really if you are not using this in your project currently you must be insane!

Anyways if you rely on external Libraries like Retrofit (Which is totally awesome, use it!) then you need to add some proguard rules in order to tell it what not to remove from those libs because it is really required but maybe not directly used. Mostly that is some models which get serialized and you might encounter some warnings but those don’t really are not interesting to you as a lib user.

This repository has a great collection on proguard files for various libs. Use it, don’t reinvent the wheel!

PHP: File uploads fail without any error

When handling uploads with PHP often it can happen, that the $_FILES array is simply empty. This can occur when one of the following things is true:

  1. Check php.ini for file_uploads = On, post_max_size, and upload_max_file_size. Make sure you’re editing the correct php.ini – use phpinfo() to verify your settings.
  2. Make sure your FORM tag has the enctype=”multipart/form-data” attribute.
  3. Do not use javascript to disable your form file input field on form submission!
  4. Make sure your directory has read+write permissions set for the tmp and upload directories.
  5. Make sure your FORM tag has method=”POST”. GET requests do not support multipart/form-data uploads.
  6. Make sure your file destination and tmp/upload directories do not have spaces in them.
  7. Make sure all FORMs on your page have /FORM close tags.
  8. Make sure your file input tag has a NAME attribute. An ID attribute is NOT sufficient! ID attributes are for use in the DOM, not for POST payloads.
  9. Your /tmp folder is full

Hope this helps!

Umzug zu Netcup: umstieg auf einen vServer

Leider ist das alte Angebote, welches ich bei http://www.webspace-verkauf.de/ hatte nicht nur total überteuert, sonder hatte ich auch in den beinahe 10 Jahren die ich dort war, einige unangenehme Erlebnisse. Von zufälligen Sperrungen meines ganzen Accounts, wegen irgendwelchen Kleinigkeit, bis hin zu das der Kundenservice teilweise über drei Tage braucht um eine zweizeilige Email zu beantworten.

Naja, jedenfalls wars einfach Zeit die Lager zu wechseln 😀

An dieser Stelle auch einen Dank an Christian Blechert, dem ich schon lange auf seinem Blog folge, für die Empfehlung von Netcup – wirklich ein toller Anbieter zum Kampfpreis. Umzug von 5 Domains ohne Probleme durchgeführt und vServer promt nach der Verifizierung durch nen Telefonanruf verfügbar gewesen.

Der virtuelle Server lauft sehr stabil und hat auch einiges an power und das zum gleichen Preis wie für ein doofes Webspacepaket beim alten Anbieter 🙂

 

Chrome, Transitions und Z-Index

Hey

Hab mal für mein Projekt contestDB eine kleine Projektseite gemacht. Das ganze Funktioniert im Firefox einwandfrei und wie erwartet. Im Chrome hingegen kommt es zu zufälligen sperren der Navigationsbuttons durch überlagerung der CSS-Transition. Dabei wird im Chrome anscheinend der Z-Index in der priorität unterhalb der Transitions gelegt und somit ist der Button nicht mehr anklickbar.

Die Experten von Cybton hatten auch keinen weiteren Rat. Bei Stackoverflow gab es schon einige ähnliche Fragestellung, allerdings funktionierte deren Lösungsweg nicht bei meiner Seite. Ich werde die Sache demnächst mal im Chrome Bugtracker reinschreiben, denn ich weiß keinen weiteren Ausweg.

Weitere Gedanken zu Bcrypt

Hallo zusammen

Nach dem bekannt werden von dem Leak von den Passwörtern von LinkedIn und LastFM, hab ich zuerst mal meine LastFM Accounts gelöscht, wo ich mich sowieso nie eingeloggt habe. Dazu hab ich einen ganz interessanten Artikel über Heise.de gefunden, welcher ganz konkret die Vorgehensweise bei dem cracken dieser Hashes auflistet. Ich habe letztens über Verschlüsselung geschrieben und auch verschiedene Tests durchgeführt.

Seit damals verwende ich überall wo es nur geht BCrypt, um genau in solchen Situationen, falls die Daten mal abhanden kommen sollten, gegen das lösen der Passwörter möglichst Resistent zu sein. Heute kam ein zusätzlicher Gedanke zu diesem Thema. Nämlich wird oft die Verschlüsselung von Webseiten gefordert, was auch Sinn macht, allerdings könnte man ja auch direkt beim Client den BCrypt hash berechnen lassen. Somit spart man selbst Ressourcen und zugleich werden Leute die den Netzwerkverkehr in einem Cafe oder anderen Öffentlichen WLan abhören das Klartext passwort nicht ersichtlich.

Für BCrypt gibts bereits eine Javascript implementierung, welche sehr vielversprechend aussieht. Werde noch weiter prüfen müssen ob dies auch Sicher ist. Natürlich wäre es wünschenswerter wenn direkt der ganze Verkehr zwischen Client und Server verschlüsselt ist, wie beim neuen Webprotokoll von Google SPDY.

IE6 is finally dead

Webseiten für den IE6 zu entwickeln ist für viele Webdesigner der reinste Horror. Sachen wie Runde Ecken o.ä. werden zum reinsten Horror und lassen Auftraggeber viel Geld & Zeit kosten.

Laut ie6countdown benutzen weniger als 10% der Internetbenutzer den 6er. Die meisten die ihn noch benutzen, kommen aus China.

Facebook hat für IE6 Benutzer bereits den Zugang limitiert und IE7 wird ebenfalls nicht mehr die neue FB Timeline erleben.

WDKK wird ab sofort den Support für IE6 & IE7 einstellen und keine Designs mehr an diese Versionen anpassen.

Siehe auch:
Microsoft feiert Ende des Internet Explorer 6