![]() |
1 year ago | |
---|---|---|
.. | ||
include | 4364c71059 Update contrib/restricted/aws/aws-c-cal to 0.5.26 | 1 year ago |
source | 79f29f21f1 Fix failed assert in aws-c-cal with musl | 1 year ago |
CMakeLists.darwin-arm64.txt | ffff7a34e4 add darwin-arm64 CMakeLists | 1 year ago |
CMakeLists.darwin-x86_64.txt | b098c151d4 Support aws-c-cal for darwin | 1 year ago |
CMakeLists.linux-aarch64.txt | 04a19cc6b6 Intermediate changes | 1 year ago |
CMakeLists.linux-x86_64.txt | 04a19cc6b6 Intermediate changes | 1 year ago |
CMakeLists.txt | 96458ea3c7 External build system generator release 65 | 1 year ago |
CMakeLists.windows-x86_64.txt | 2bb1b2fb5d Revert commit rXXXXXX,Add env semantic | 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.