Générer une CSR pour une paire de clé/certificat existante via le terminal sur IOS

Cette note peut être utile si vous devez renouveler votre certificat de push ou de distribution sur Apple et que l’outil Keychain rejette la demande de création de CSR sur le certificat existant.

Le contournement est d’utiliser le terminal et les bonnes vieilles commandes classiques :

  • exporter la clé privé dans un fichier p12 : depuis l’outil keychain, faireun click droit sur la clé ou le certificat et sélectionner « exporter », on considère le p12 s’appellera ma_cle.p12
  • Basculer le p12 en pem:
    openssl pkcs12 -in ma_cle.p12 -out ma_cle.pem
  • Générer la csr:
    openssl req -new -key ma_cle.pem -out ma_cle.csr
  • et voila, il suffit d’importer la CSR sur apple developper.

Ajouter un certificat de serveur dans AWS IAM

La console IAM ne permet pas de gérer les certificats de serveur qui ont été insérés à la volée dans IAM via l’ELB. Il faut donc passer par l’API :

(une fois les pré-requis de l’API installés), exécutez:

aws iam upload-server-certificate --server-certificate-name mon.serveur.com.2017 --certificate-body file:///home/cve/ssl/serveur_crt.pem --certificate-chain file:///home/cve/ssl/cert_chain.pem --private-key file:///home/cve/ssl/serveur_key.pem

Ensuite vous retrouvez votre nouveau certificat dans la liste des certificats IAM sur la page de mise à jour du certificat de l’ELB.

Compiler redmine 1.9.3 puis installer redmine sur apache le tout sur une debian squeeze…

évidemment ruby 1.9.3 n’est pas encore disponible en paquet debian squeeze donc on compile, on installe et hop…

Comme d’habitude vérifier la présence de:

  • g++
  • libc
  • libtool
  • autoconf
  • openssl dev
  • fcgi dev
telecharger les sources de ruby
lancer autoconf
.configure 
make
(regarder les messages d'erreur sur la creation des config) openssl doit passer si vous voulez l'utiliser (si il ne passe pas c'est qu'il manque la lib. Retournez dans aptitude)
make install

Installer les paquets connexe via gem

gem install rails
gem install fcgi
gem install rack

Descendre les sources redmine suivre la doc redmine

Ajouter la dependance sur fcgi dans Gemfile supprimer le fichier Gemfile.lock relancer le bundle install:

bundle install --without development test postgresql sqlite rmagick

Installer passenger via gem:

gem install passenger

Compiler passenger pour apache:

passenger-install-apache2-module

Ajouter dans le module passenger dans /etc/site-available (copier/coller les lignes fournit en fin de compilation du passenger)

Ensuite creer le virtual host en pointant sur l’appli ruby.

<VirtualHost *:443>
 ServerName www.domain.com
 DocumentRoot /opt/redmine/current/public
 <Directory /opt/redmine/current/public>
       AllowOverride all
       Options -MultiViews
       </Directory>
       ErrorLog /var/log/apache2/redmine_error.log
       LogLevel error
       CustomLog /var/log/apache2/redmine_cust.log combined
       SSLEngine on
       SSLCertificateFile    /etc/ssl/certs/openways.com.crt
       SSLCertificateKeyFile /etc/ssl/private/openways.com.key
       SSLCertificateChainFile /etc/ssl/certs/gd_bundle.crt
</VirtualHost>

Créer un keystore BKS pour Android et inclure un CA proprietaire

creer le keystore BKS
keytool -genkeypair -v -alias app_zzz -keyalg RSA -keysize 1024 -dname "CN=zzz, OU=zzz, O=zzz, L=zzz,S=00, C=FR" -validity 3600 -keypass zzz -keystore zzz.bks -storepass zzz -storetype BKS -providerclass org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath C:\Users\zzz\BouncyCastle\bcprov-jdk16-146.jar
importer le CA
keytool -importcert -trustcacerts -alias CA_zzz -file CA_zzz.crt -keypass zzz -keystore zzz.bks -storepass zzzz -storetype BKS -providerclass org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath C:\Users\zzz\BouncyCastle\bcprov-jdk16-146.jar
verifier le keystore
keytool -list -keypass zzz -keystore zzz.bks -storepass zzz -storetype BKS -providerclass org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath C:\Users\zzz\BouncyCastle\bcprov-jdk16-146.jar

ps : Cet exemple se base sur le keytool de la jdk 1.6 (les options sont un peu différentes sur la jdk 1.5)

x509 avec openssl

! Créer un ca de test

$ openssl req -x509 -newkey rsa:2048 -keyout’ ca.key -out ca.crt

! Créer la clé privé du serveur (ici RSA)

$ openssl genrsa -out client.key 2048

! Créer la csr du serveur
$ openssl req’ -new -key client.key -out client.csr

! Signer la csr :

$ openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in client.csr -out’ client.crt

Le fichier client.crt est signé par le ca, that’s it !

cf le man openssl pour plus d’info