NOTE: For Version 3 of the AWS SDK for PHP, please see the V3 User Guide and V3 API Reference.

# Interface SignatureInterface

Interface used to provide interchangeable strategies for signing requests using the various AWS signature protocols.

### Direct known implementers

`Aws\Common\Signature\AbstractSignature`, `Aws\Common\Signature\EndpointSignatureInterface`

### Indirect known implementers

`Aws\CloudFront\CloudFrontSignature`, `Aws\Common\Signature\SignatureV2`, `Aws\Common\Signature\SignatureV3Https`, `Aws\Common\Signature\SignatureV4`, `Aws\S3\S3Signature`, `Aws\S3\S3SignatureV4`

Namespace: Aws\Common\Signature
Located at Aws/Common/Signature/SignatureInterface.php

## Methods summary

- `public` `signRequest ( Guzzle\Http\Message\RequestInterface $request, Aws\Common\Credentials\CredentialsInterface $credentials )`

  Signs the specified request with an AWS signing protocol by using the provided AWS account credentials and adding the required headers to the request.

- `public` `createPresignedUrl ( Guzzle\Http\Message\RequestInterface $request, Aws\Common\Credentials\CredentialsInterface $credentials, int|string|\DateTime $expires )`

  Create a pre-signed URL

## Methods detail

# `public`
`signRequest( `Guzzle\Http\Message\RequestInterface` $request, `Aws\Common\Credentials\CredentialsInterface` $credentials )`

Signs the specified request with an AWS signing protocol by using the provided AWS account credentials and adding the required headers to the request.

#### Parameters

$request
  ``Guzzle\Http\Message\RequestInterface``
  $request Request to add a signature to
$credentials
  ``Aws\Common\Credentials\CredentialsInterface``
  $credentials Signing credentials

# `public string`
`createPresignedUrl( `Guzzle\Http\Message\RequestInterface` $request, `Aws\Common\Credentials\CredentialsInterface` $credentials, integer|string|`DateTime` $expires )`

Create a pre-signed URL

#### Parameters

$request
  ``Guzzle\Http\Message\RequestInterface``
  $request Request to sign
$credentials
  ``Aws\Common\Credentials\CredentialsInterface``
  $credentials Credentials used to sign
$expires
  `integer|string|`DateTime``
  $expires The time at which the URL should expire. This can be a Unix timestamp, a PHP DateTime object, or a string that can be evaluated by strtotime

#### Returns

`string`

### Magic methods summary