PFX (Personal Information Exchange) failas naudojamas Windows serveriuose, norint įdiegti SSL sertifikatą tokiame serveryje, kuriame nėra privataus sertifikato rakto. Tokia situacija susidaro, kai CSR buvo sugeneruotas kitame serveryje.

PFX faile yra privataus ir viešo sertifikato raktų pora. Todėl šis failas negali būti tiesiog konvertuotas iš CRT ar CER failų, kuriuose yra tik viešas sertifikato raktas.

PFX faile raktai saugomi PKCS#12 formatu. Tai yra kitoks formatas, nei naudojamas CRT ir CER failuose. Todėl šio failo negalime suformuoti su teksto rengykle, tam reikia specialios programos.

PFX eksportavimas iš Windows serverio

Norint nukopijuoti Windows serveryje veikiantį SSL sertifikatą į kitą Windows serverį, reikia eksportuoti SSL sertifikatą PFX formatu iš IIS serverio arba iš operacinės sistemos.

IIS Manager sertifikatų sąraše spaudžiame dešinį pelės klavišą ant jau veikiančio sertifikato ir eksportuojame jį PFX formatu.

SSL sertifikato eksportavimas PFX formatu iš IIS

Taip pat sertifikatą galime eksportuoti per Microsoft Management Console. Einame Start > Run. Įvedame mmc ir spaudžiame Run. Atsidarę MMC, einame File > Add/Remove Snap-in > Available snap-ins > Certificates > Add.

SSL sertifikato eksportavimas PFX formatu iš Windows MMC

Certificates snap-in lange pasirenkame Computer account, spaudžiame Next. Select Computer lange pasirenkame Local computer: (computer this console is running on), spaudžiame Finish.

SSL sertifikato eksportavimas PFX formatu iš Windows MMC

Console lange, Console Root aplanke išskleidžiame Certificates (Local Computer) ir pasirenkame aplanką, kuriame saugomas reikalingas sertifikatas. Dažniausiai jis būna aplankuose Personal arba Web Hosting. Ant sertifikato spaudžiame dešinį pelės klavišą, tada All Tasks > Export.

SSL sertifikato eksportavimas PFX formatu iš Windows MMC

Certificate Export Wizard lange spaudžiame Next. Pasirenkame Yes, export the private key, spaudžiame Next.

SSL sertifikato eksportavimas PFX formatu iš Windows MMC

Pasirenkame Personal Information Exchange ir pažymime Include all certificates in the certification path if possible, spaudžiame Next. Security lange įvedame savo sugalvotą slaptažodį. Toliau išsaugome failą ten, kur galėsime jį lengvai pasiimti. Galiausiai spaudžiame Finish.

PFX generavimas Windows serveryje

Jei su Windows kompiuteriu susigeneravote CSR ir jau gavote viešą raktą, kad galėtumėte perkelti privatų raktą į serverį, turite įdiegti gautą sertifikatą į kompiuterį, o tada iš operacinės sistemos eksportuoti abiejų raktų porą PFX formatu. Windows operacinė sistema nesuteikia jokių įrankių privataus rakto eksportavimui atskirai nuo viešo rakto. Todėl neįdiegę sertifikato, negalėsite iš kompiuterio eksportuoti privataus rakto.

Jei CSR susigeneravote su išoriniu CSR generatoriumi, Windows neturi privataus rakto ir nesuteikia įrankių jį importuoti. Todėl negalite įdiegti ir CRT failo, kuriame yra viešas sertifikato raktas. Turite susikurti PFX failą iš Windows kompiuteryje esančių neįdiegtų viešo ir privataus sertifikato raktų failų. Tam reikės įsidiegti atskirą programą.

PFX failo sugeneravimui iš .crt ir .key failų rekomenduojame naudoti OpenSSL. Įsidiegus, tai atliekama identiškai kaip Linux operacinėje sistemoje (žr. žemiau).

Jei PFX failui sugeneruoti naudotumėte kokioje nors interneto svetainėje siūlomus įrankius, tos svetainės administratoriui perduotumėte savo sertifikato viešą ir privatų raktus. Toks sertifikatas nebebūtų saugus.

PFX generavimas Linux serveryje su OpenSSL

Norint nukopijuoti Linux serveryje veikiantį SSL sertifikatą į Windows serverį, reikia sugeneruoti PFX failą su OpenSSL komanda:

openssl pkcs12 -export -in certificate+ca.pem -inkey private.key -out certificate.pfx

Ši komanda esamame aplanke paims sertifikato bei tarpinių sertifikatų grandinę iš failo certificate+ca.pem ir privatų raktą iš private.key, o tada išsaugos failą certificate.pfx. Faile certificate+ca.pem būtinai turi būti domeno sertifikato viešas raktas kartu su šakninių sertifikatų viešais raktais, o visi raktai turi būti PEM formatu.