![]() |
4 months ago | |
---|---|---|
.. | ||
.yandex_meta | 9731d8a4bb publishFullContrib: true for ydb | 4 months ago |
include | 4364c71059 Update contrib/restricted/aws/aws-c-cal to 0.5.26 | 1 year ago |
patches | 9731d8a4bb publishFullContrib: true for ydb | 4 months ago |
source | 79f29f21f1 Fix failed assert in aws-c-cal with musl | 1 year ago |
CODE_OF_CONDUCT.md | 2d37894b1b Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 2 of 2. | 3 years ago |
CONTRIBUTING.md | 8081dabe0c intermediate changes | 2 years ago |
LICENSE | 2d37894b1b Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 2 of 2. | 3 years ago |
NOTICE | 2d37894b1b Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 2 of 2. | 3 years ago |
README.md | 8081dabe0c intermediate changes | 2 years ago |
ya.make | b098c151d4 Support aws-c-cal for darwin | 1 year ago |
AWS Crypto Abstraction Layer: Cross-Platform, C99 wrapper for cryptography primitives.
This library is licensed under the Apache 2.0 License.
CMake 3.0+ is required to build.
<install-path>
must be an absolute path in the following instructions.
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
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
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);
aws_md5_compute(allocator, &your_buffer, &output_buffer, 0);
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);
aws_sha256_compute(allocator, &your_buffer, &output_buffer, 0);
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);
aws_sha256_hmac_compute(allocator, &secret_buf, &your_buffer, &output_buffer, 0);
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.
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.
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.