robot-piglet 04a19cc6b6 Intermediate changes 1 год назад
..
include 4364c71059 Update contrib/restricted/aws/aws-c-cal to 0.5.26 1 год назад
source 4364c71059 Update contrib/restricted/aws/aws-c-cal to 0.5.26 1 год назад
CMakeLists.darwin-x86_64.txt 04a19cc6b6 Intermediate changes 1 год назад
CMakeLists.linux-aarch64.txt 04a19cc6b6 Intermediate changes 1 год назад
CMakeLists.linux-x86_64.txt 04a19cc6b6 Intermediate changes 1 год назад
CMakeLists.txt 887be65957 External build system generator release 29 1 год назад
CMakeLists.windows-x86_64.txt 04a19cc6b6 Intermediate changes 1 год назад
CODE_OF_CONDUCT.md 2d37894b1b Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 2 of 2. 2 лет назад
CONTRIBUTING.md 8081dabe0c intermediate changes 2 лет назад
LICENSE 2d37894b1b Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 2 of 2. 2 лет назад
NOTICE 2d37894b1b Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 2 of 2. 2 лет назад
README.md 8081dabe0c intermediate changes 2 лет назад
ya.make bf0f13dd39 add ymake export to ydb 1 год назад

README.md

AWS C Cal

AWS Crypto Abstraction Layer: Cross-Platform, C99 wrapper for cryptography primitives.

License

This library is licensed under the Apache 2.0 License.

Supported Platforms

  • Windows (Vista and Later)
  • Apple
  • Unix (via OpenSSL compatible libcrypto)

Build Instructions

CMake 3.0+ is required to build.

<install-path> must be an absolute path in the following instructions.

Linux-Only Dependencies

If you are building on Linux, you will need to build aws-lc first.

git clone git@github.com:awslabs/aws-lc.git
cmake -S aws-lc -B aws-lc/build -DCMAKE_INSTALL_PREFIX=<install-path>
cmake --build aws-lc/build --target install

Building aws-c-cal and Remaining Dependencies

git clone git@github.com:awslabs/aws-c-common.git
cmake -S aws-c-common -B aws-c-common/build -DCMAKE_INSTALL_PREFIX=<install-path>
cmake --build aws-c-common/build --target install

git clone git@github.com:awslabs/aws-c-cal.git
cmake -S aws-c-cal -B aws-c-cal/build -DCMAKE_INSTALL_PREFIX=<install-path> -DCMAKE_PREFIX_PATH=<install-path>
cmake --build aws-c-cal/build --target install

Currently provided algorithms

Hashes

MD5

Streaming
struct aws_hash *hash = aws_md5_new(allocator);
aws_hash_update(hash, &your_buffer);
aws_hash_finalize(hash, &output_buffer, 0);
aws_hash_destroy(hash);
One-Shot
aws_md5_compute(allocator, &your_buffer, &output_buffer, 0);

SHA256

Streaming
struct aws_hash *hash = aws_sha256_new(allocator);
aws_hash_update(hash, &your_buffer);
aws_hash_finalize(hash, &output_buffer, 0);
aws_hash_destroy(hash);
One-Shot
aws_sha256_compute(allocator, &your_buffer, &output_buffer, 0);

HMAC

SHA256 HMAC

Streaming
struct aws_hmac *hmac = aws_sha256_hmac_new(allocator, &secret_buf);
aws_hmac_update(hmac, &your_buffer);
aws_hmac_finalize(hmac, &output_buffer, 0);
aws_hmac_destroy(hmac);
One-Shot
aws_sha256_hmac_compute(allocator, &secret_buf, &your_buffer, &output_buffer, 0);

FAQ

I want more algorithms, what do I do?

Great! So do we! At a minimum, file an issue letting us know. If you want to file a Pull Request, we'd be happy to review and merge it when it's ready.

Who should consume this package directly?

Are you writing C directly? Then you should. Are you using any other programming language? This functionality will be exposed via that language specific crt packages.

I found a security vulnerability in this package. What do I do?

Due to the fact that this package is specifically performing cryptographic operations, please don't file a public issue. Instead, email aws-sdk-common-runtime@amazon.com, and we'll work with you directly.