SSS - S3 Toolkit 0.9.6
S3 client library and applications
|
AWS S3v4 signing functions. More...
Data Structures | |
struct | sss::ComputeSignatureConfig |
Arguments for ComputeSignature and SignHeaders functions. More... | |
struct | sss::S3SignUrlConfig |
Arguments to SignedURL function. More... | |
struct | sss::Signature |
Signature information. More... | |
Functions | |
Signature | sss::ComputeSignature (const ComputeSignatureConfig &cfg) |
Compute signature. | |
std::string | sss::SignedURL (const S3SignUrlConfig &cfg) |
Generate presigned URL. | |
Headers | sss::SignHeaders (const ComputeSignatureConfig &cfg) |
Sign headers. | |
AWS S3v4 signing functions.
Signature sss::ComputeSignature | ( | const ComputeSignatureConfig & | cfg | ) |
Compute signature.
Signing a GET
request for downloading object /bucket1/key1
. This code is exteacted from a test case which outputs results in CSV format where success is mapped to '1' and failure to '0'.
[in] | cfg | argumets |
References sss::begin(), sss::CreateSignatureKey(), sss::Time::dateStamp, sss::end(), sss::GetDates(), sss::Hex(), sss::URL::host, sss::ParseURL(), sss::ComputeSignatureConfig::payloadHash, sss::URL::port, sss::Time::timeStamp, sss::ToLower(), sss::ToUpper(), and sss::UrlEncode().
string sss::SignedURL | ( | const S3SignUrlConfig & | cfg | ) |
Generate presigned URL.
[in] | cfg | arguments |
Presign url, 'expiration' time must be specified in seconds @warnihg: x-amz- fields seem not to be required to sign, metatdata x-amz-meta work without adding to signed headers
References sss::S3SignUrlConfig::access, sss::begin(), sss::S3SignUrlConfig::bucket, sss::CreateSignatureKey(), sss::S3SignUrlConfig::dates, sss::Time::dateStamp, sss::end(), sss::S3SignUrlConfig::endpoint, sss::S3SignUrlConfig::expiration, sss::GetDates(), sss::S3SignUrlConfig::headers, sss::Hex(), sss::URL::host, sss::S3SignUrlConfig::key, sss::S3SignUrlConfig::method, sss::S3SignUrlConfig::params, sss::ParseURL(), sss::URL::port, sss::S3SignUrlConfig::region, sss::S3SignUrlConfig::secret, sss::Time::timeStamp, and sss::UrlEncode().
Headers sss::SignHeaders | ( | const ComputeSignatureConfig & | cfg | ) |
Sign headers.
[in] | cfg | configuration information for computing signature; headers are passed as a data member and returned together with the additional signed header. |
Sign HTTP headers: return dictionary with {key, value} pairs containing per-header information.
References sss::begin(), sss::ComputeSignature(), and sss::end().