Mercredi, 18 mars, 2009 | Auteur:

[modifier] Tant pis. Il s'avère que openssl est en mesure de déterminer que la clé et le certificat sont déjà dans un seul fichier. Donc, aucun csplittion nécessaire (bien, J'espère que quelqu'un lecture de cet au moins appris sur la façon agréable csplit est). En fait, l'ensemble du script pourrait aussi bien être obsolète… blaargh. Bien, au moins il donne une belle avertissement de ne pas donner un mot de passe vide. 😀

Voici la nouvelle version:

pem2pfx – convertit un fichier au format PEM. contenant une clé privée et le certificat signé dans un fichier. pfx certificat compatible Windows.

#!/bin / bash
#pem2pfx
#v0.2
#Difficile - brenréan@swiftspJerJet.co.za
# Convertit un fichier de certificat. Pem au format pfx.
# $1 est le fichier source
ensemble -et
 
si [ $# = 1 ]; puis
  outputfile=`écho $1 | mais 'S / .pem $ /. Pfx /'`
 
  écho "S'il vous plaît spécifier un mot de passe ci-dessous. De Windows refuse d'importer un certificat. Pfx avec un mot de passe vide."
  openssl pkcs12 -exportation -dehors $outputfile -dans $1
 
 autre
  écho "Pem2pfx - convertit un pem. formaté la clé privée et le fichier de certificat à un pfx IIS-compatible.."
  écho "Utilisation: pem2pfx inputfile.pem"
dans

Ancienne version:

Je ai eu de nombreuses occasions où un certificat SSL doit être exporté d'un système et réimportés à l'autre. Enfin, après avoir écumé l'Internet et de trouver qu'il n'y a pas de moyen d'une ligne pour convertir un certificat du format .pem (donné par Plesk sur Linux) à .PFX le format (la façon dont IIS aime), Je ai fait le script bash suivante:

pem2pfx – convertit un fichier .pem-formaté contenant une clé privée et le certificat signé dans un fichier de certificat .pfx IIS compatible.

#!/bin / bash
#pem2pfx
#v0.1
#Difficile - brendan@swJeftspJerJet.co.zun
# Convertit un fichier de certificat .pem plesk-produit pour le format .pfx
# $1 est le fichier source
ensemble -et
 
FIXEDRAND=$RANDOM.$$
 
si [ $# = 1 ]; puis
  outputfile=`écho $1 | mais 'S / .pem $ /. Pfx /'`
 
  csplit -fa $FIXEDRAND.parties $1 /-----COMMENCER/ {*} 2>&1 > /dev/nul
ensemble +et
  pour Je dans $FIXEDRAND.parties* ; de
   poignée "----- BEGIN CERTIFICATE ----- ' $Je 2>&1 > /dev/nul && cp $Je $FIXEDRAND.crt
   poignée "----- BEGIN RSA PRIVATE KEY ----- ' $Je 2>&1 > /dev/nul && cp $Je $FIXEDRAND.clé
  fini
ensemble -et
 
  écho "S'il vous plaît spécifier un mot de passe ci-dessous. IIS refuse de charger une .pfx avec un mot de passe vide."
  openssl pkcs12 -exportation -dehors $outputfile -Clé $FIXEDRAND.clé -dans $FIXEDRAND.crt
  #Nettoyer
  rm $FIXEDRAND.*
 
 autre
  écho "Pem2pfx - convertit un pem. formaté la clé privée et le fichier de certificat à un pfx IIS-compatible.."
  écho "Utilisation: pem2pfx inputfile.pem"
dans
Partager
Vous pouvez suivre les réponses à cette entrée à travers le RSS 2.0 alimentation. Vous pouvez laisser une réponse, ou trackback à partir de votre propre site.

4 Réponses

  1. 1
    Craig 

    Neeto! Pastebin il!

  2. 2
    Craig 

    Lorsque tous les anciens scripts, ils ont littéralement tout simplement disparu devant mes yeux?

  3. 3
    Difficile 

    Lol. Ils seront comme Pokemon. Une nouvelle page pour tous. 😉

  4. 4
    Lukasz 

    Envoyer cette page mon temps ! Merci

    Je ai une suggestion – se il vous plaît ajouter dans le script une info de texte, comment générer un fichier PEM de deux fichiers indépendants.

Laisser un commentaire » Connexion