SetaPDF_Signer_Signature_Module_OpenSslCliCms A signature module which uses the CMS utility of OpenSSL via command line.

File: /SetaPDF v2/Signer/Signature/Module/OpenSslCliCms.php

The CMS utility is described here: http://www.openssl.org/docs/apps/cms.html.

Class hierarchy

Implements

Summary

Properties

$_certificate

The path to the signing certificate

$_digest

The digest algorithm to use when signing

$_extraCertificates

The path to the extra/other certificates

$_keyOptions

Options which are used as -keyopt argument

$_openSslPath

A path to additional certificates to be specified

$_outPath

A temporary path of the signed message

$_privateKey

The path to the private key to use when signing


Methods

_cleanUp()

Removes temporary file if needed.

_createCommand()

Creates the command line command.

Parameters
$inPath : string
 

_getUtility()

Returns the name of the OpenSSL utitlity.

createSignature()

Create the signature.

This method creates a digital signature for the file available in $tmpPath and returns it in binary format.

Parameters
$tmpPath : SetaPDF_Core_Reader_FilePath
 
Exceptions

Throws SetaPDF_Signer_Exception

Throws InvalidArgumentException

getCertificate()

Get the path to the signing certificate.

getDigest()

Get the digest algorithm.

getExtraCertificates()

Get the path of the file with additional certificates.

getKeyOptions()

Get all signing key options.

getOpenSslPath()

Get the path to the openssl binary.

getPrivateKey()

Get the path to the private key file.

getPrivateKeyPassword()

Get the private key password source.

setCertificate()

public SetaPDF_Signer_Signature_Module_OpenSslCli::setCertificate (
string $certificate
): void

Set the path to the signing certificate.

Parameters
$certificate : string
 
Exceptions

Throws InvalidArgumentException

setDigest()

public SetaPDF_Signer_Signature_Module_OpenSslCli::setDigest (
string $digest
): void

Set the digest algorithm to use when signing.

Possible values are defined in SetaPDF_Signer_Digest.

Parameters
$digest : string
 
See

setExtraCertificates()

public SetaPDF_Signer_Signature_Module_OpenSslCli::setExtraCertificates (
null|string $extraCertificates
): void

Set the path to a file with additional certificates which will be included in the signature.

If the certificates are saved in separate files, you will need to assemble them in one single file. Just copy them with a text editor one after another.

Parameters
$extraCertificates : null|string
 
Exceptions

Throws InvalidArgumentException

setKeyOption()

public SetaPDF_Signer_Signature_Module_OpenSslCliCms::setKeyOption (
string $name, string $value
): void

Set a signing key options (passed via -keyopt argument).

Parameters
$name : string
 
$value : string
 

setOpenSslPath()

public SetaPDF_Signer_Signature_Module_OpenSslCli::setOpenSslPath (
string $openSslPath
): void

Set the path to the openssl binary.

Parameters
$openSslPath : string
 

setPrivateKey()

public SetaPDF_Signer_Signature_Module_OpenSslCli::setPrivateKey (
array|string $privateKey [, null $password = null ]
): void

Set the path to the private key file and password argument.

Parameters
$privateKey : array|string

An array of private key and password or only a private key.

$password : null
 
Exceptions

Throws InvalidArgumentException

setPrivateKeyPassword()

Set the private key password source.

Parameters
$password : string
 
See