openssl_pkey_get_private

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_get_privateGet a private key

Description

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

openssl_get_privatekey() parses key and prepares it for use by other functions.

Parameters

key

key can be one of the following:

  1. a string having the format file://path/to/file.pem. The named file must contain a PEM encoded certificate/private key (it may contain both).
  2. A PEM formatted private key.

passphrase

The optional parameter passphrase must be used if the specified key is encrypted (protected by a passphrase).

Return Values

Returns a positive key resource identifier on success, or FALSE on error.

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
9 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