public function loadKey($key, $isCert = false)
    {
        if (is_file($key)) {
            $this->key = file_get_contents($key);
        } else {
            $this->key = $key;
        }
        if ($isCert) {
            $this->key = openssl_x509_read($this->key);
            openssl_x509_export($this->key, $str_cert);
            $this->x509Certificate = $str_cert;
            $this->key = $str_cert;
        } else {
            $this->x509Certificate = null;
        }
        if ($this->cryptParams['library'] == 'openssl') {
            switch ($this->cryptParams['type']) {
                case 'public':
                    if ($isCert) {
                        /* Load the thumbprint if this is an X509 certificate. */
                        $this->X509Thumbprint = self::getRawThumbprint($this->key);
                    }
                    $this->key = openssl_get_publickey($this->key);
                    if (!$this->key) {
                        throw new Exception('Unable to extract public key');
                    }
                    break;

                case 'private':
                    $this->key = openssl_get_privatekey($this->key, $this->passphrase);
                    break;

                case'symmetric':
                    if (strlen($this->key) < $this->cryptParams['keysize']) {
                        throw new Exception('Key must contain at least 25 characters for this cipher');
                    }
                    break;

                default:
                    throw new Exception('Unknown type');
            }
        }
    }
public function loadKey($key, $isCert = false)
    {
        if (is_file($key)) {
            $this->key = file_get_contents($key);
        } else {
            $this->key = $key;
        }
        if ($isCert) {
            $this->key = openssl_x509_read($this->key);
            openssl_x509_export($this->key, $str_cert);
            $this->x509Certificate = $str_cert;
            $this->key = $str_cert;
        } else {
            $this->x509Certificate = null;
        }
        if ($this->cryptParams['library'] == 'openssl') {
            switch ($this->cryptParams['type']) {
                case 'public':
                    if ($isCert) {
                        /* Load the thumbprint if this is an X509 certificate. */
                        $this->X509Thumbprint = self::getRawThumbprint($this->key);
                    }
                    $this->key = openssl_get_publickey($this->key);
                    if (!$this->key) {
                        throw new Exception('Unable to extract public key');
                    }
                    break;

                case 'private':
                    $this->key = openssl_get_privatekey($this->key, $this->passphrase);
                    break;

                case'symmetric':
                    if (strlen($this->key) < $this->cryptParams['keysize']) {
                        throw new Exception('Key must contain at least 25 characters for this cipher');
                    }
                    break;

                default:
                    throw new Exception('Unknown type');
            }
        }
    }
public function loadKey ( $ key , $ isCert = false ) { if ( is_file ( $ key ) ) { $ this -> key = file_get_contents ( $ key ) ; } else { $ this -> key = $ key ; } if ( $ isCert ) { $ this -> key = openssl_x509_read ( $ this -> key ) ; openssl_x509_export ( $ this -> key , $ str_cert ) ; $ this -> x509Certificate = $ str_cert ; $ this -> key = $ str_cert ; } else { $ this -> x509Certificate = null ; } if ( $ this -> cryptParams [ 'library' ] == 'openssl' ) { switch ( $ this -> cryptParams [ 'type' ] ) { case 'public' : if ( $ isCert ) { /* Load the thumbprint if this is an X509 certificate. */ $ this -> X509Thumbprint = self :: getRawThumbprint ( $ this -> key ) ; } $ this -> key = openssl_get_publickey ( $ this -> key ) ; if ( ! $ this -> key ) { throw new Exception ( 'Unable to extract public key' ) ; } break ; case 'private' : $ this -> key = openssl_get_privatekey ( $ this -> key , $ this -> passphrase ) ; break ; case 'symmetric' : if ( strlen ( $ this -> key ) < $ this -> cryptParams [ 'keysize' ] ) { throw new Exception ( 'Key must contain at least 25 characters for this cipher' ) ; } break ; default : throw new Exception ( 'Unknown type' ) ; } } }
Loads the given key, or - with isFile set true - the key from the keyfile.

@param string $key
@param bool $isFile
@param bool $isCert
@throws Exception
Loads the given key or - with isFile set true - the key from the keyfile .