PHP 5.4.37 Released

openssl_pkey_get_private

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_get_private秘密鍵を取得する

説明

resource openssl_pkey_get_private ( mixed $key [, string $passphrase = "" ] )

openssl_get_privatekey()key をパースし、他の関数で使用できるよう準備します。

パラメータ

key

key は以下のいずれかです。

  1. file://path/to/file.pem 形式の文字列。 このファイルは、PEM エンコードされた証明書/秘密鍵である必要が あります(両方を含むことも可能です)。
  2. PEM フォーマットの秘密鍵。

passphrase

指定されたキーが(パスフレーズを用いて)暗号化されている場合は、 オプションのパラメータ passphrase を使用する必要があります。

返り値

成功した場合に正のキーリソース ID、エラー時に FALSE を返します。

add a note add a note

User Contributed Notes 3 notes

up
8
kristof1 at mailbox dot hu
8 months ago
It's actually "file://key.pem" when you want to give a relative path using unix systems. It will be three '/' in case of absolute path (e.g "file:///home/username/..."). But this path consists of two '/' originated from "file://" and one '/' from the fact that home is a subfolder of the unix filesystem's root directory ("/home/username/..."). This two part will be concatenated and you will get three '/' characters following each other.

So you only have to concatenate "file://" with an existing path string in every case.
up
1
joelhy
3 years ago
Please note that "file://path/to/file.pem" in documentation means file protocol + file path. In UNIX like OS, that is something like file:///rsa_private_key.pem. There is THREE slashes in the path string, not TWO.
up
0
Nsajigwa M
7 days ago
just a little addition note on this, especially on getting the link to the private key.
For example, am using plesk server, and my certificate is located in httpdocs folder. the line to the certificate would be:
<?php
$mycert
= '/var/www/vhosts/mydomain.com/httpdocs/certificate.pem';
openssl_pkey_get_private('file://'.$mycert);
?>
for which in this case it'll have three '/' not two
To Top