![]() |
2 years ago | |
---|---|---|
.. | ||
include | 8081dabe0c intermediate changes | 2 years ago |
source | 66adefe9bf Update contrib/restricted/aws/aws-c-cal to 0.5.20 | 2 years ago |
CMakeLists.darwin-x86_64.txt | 33ed6077e6 Intermediate changes | 2 years ago |
CMakeLists.linux-aarch64.txt | a9e5890a07 NO_COMPILER_WARNINGS in cmake msvc builds | 2 years ago |
CMakeLists.linux-x86_64.txt | 33ed6077e6 Intermediate changes | 2 years ago |
CMakeLists.txt | 33ed6077e6 Intermediate changes | 2 years 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 | 056bb284cc add library/cpp/actors, ymake build to ydb oss export | 2 years 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.