11 votes

Comment créer un certificat x509 auto-signé avec les clés privée et publique ?

Je suis en train de créer une "preuve de concept" SSO en utilisant SAML2 et ADFS2 (IdP). La connexion fonctionne bien, mais ADFS2 exige que ma demande de déconnexion soit signée (avec une clé privée) et j'imagine que je devrais alors ajouter ce même certificat (fichier .cer) sous l'onglet Signature dans mon Relying Party Trusts dans ADFS2. Le seul problème est que je n'ai pas de certificat pour mon application (fournisseur de services). Je sais que je peux créer un certificat auto-signé à cette fin, mais je n'arrive pas à trouver comment en créer un avec tout ce dont j'ai besoin.

24voto

smartin Points 430

Pour générer un certificat auto-signé, vous avez besoin de la bibliothèque openssl so :

D apt-get install openssl

C yum install openssl

Suivez ensuite les trois étapes suivantes :

  • Générer la clé privée :

    openssl genrsa -out server.pem 2048

  • Générer de la RSE : (Dans le "Common Name", indiquez le domaine de l'application de votre fournisseur de services)

    openssl req -new -key server.pem -out server.csr

  • Générer un certificat autosigné

    openssl x509 -req -days 365 -in server.csr -signkey server.pem -out server.crt

A la fin du processus, vous obtiendrez server.csr (demande de signature de certificat), server.pem (clé privée) et server.crt (certificat autosigné).

Sous Windows, vous pouvez utiliser makecert.exe

3voto

Sean Hanley Points 2428

J'ai utilisé l'outil SelfSSL pour Windows lors de l'élaboration d'une preuve de concept ADFS. Plus précisément, ce type a une version améliorée pour IIS7.

Un exemple de commande :

selfssl7.exe /N cn=www.example.com /K 2048 /V 3652 /X /F C:\example.pfx /W foo

Génère un fichier "exemple.pfx" avec une clé de 2048 bits, valable pendant ~10 ans, avec le mot de passe "foo" protégeant la clé privée, avec le nom commun "www.example.com". Vous pouvez importer ce fichier dans le magasin de certificats de votre machine locale, puis l'exporter sous la forme d'un fichier .cer, avec ou sans les informations relatives à la clé privée, selon vos besoins.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X