Instalar do AWS Encryption SDK para C - SDK de criptografia da AWS

Se fornecermos uma tradução da versão em inglês do guia, a versão em inglês prevalecerá caso haja qualquer conflito entre as versões. A tradução é fornecida com o uso de tradução por máquina.

Instalar do AWS Encryption SDK para C

Este tópico explica como instalar o AWS Encryption SDK para C em todas as plataformas compatíveis. Se você estiver com problemas em sua instalação, relate o problema no repositório do aws-encryption-sdk-c ou use o link Feedback no canto inferior direito desta página.

Antes de começar, decida se deseja usar o AWS Key Management Service (AWS KMS) para gerar e proteger as chaves de criptografia que protegem seus dados. Caso contrário, você precisa fornecer chaves mestras geradas e protegidas por você. Se você usar o AWS KMS, precisará instalar o AWS SDK para C++.

Se não usar módulos de segurança de hardware (HSMs) nem outro serviço de gerenciamento de chaves de criptografia, recomendamos o AWS KMS. Você precisa criar pelo menos uma chave mestra de cliente do AWS KMS. Para obter instruções, consulte Criação de chaves.

Bibliotecas necessárias

O AWS Encryption SDK para C requer as seguintes bibliotecas:

  • OpenSSL 1.0.2 ou superior, incluindo 1.1.0 ou posterior: o SDK de criptografia da AWS usa os algoritmos de criptografia e outros primitivos de criptografia na biblioteca de criptografia OpenSSL. O SDK não define nem cria nenhuma primitiva de criptografia.

  • aws-c-common 0.3.0 ou posterior: esta biblioteca define ferramentas e estruturas de uso geral utilizadas pelo AWS Encryption SDK para C. Ela é instalada automaticamente quando você instala o AWS SDK para C++.

    nota

    A versão preferencial da biblioteca aws-c-common é instalada automaticamente quando você instala o AWS SDK para C++. Se você estiver instalando o SDK para C++, não instale a biblioteca aws-c-common separadamente.

Para compilar o SDK, você precisa de:

  • Um compilador C para sua plataforma.

  • CMake 3.9 ou posterior.

Para usar o AWS Encryption SDK para C com o AWS KMS, você precisa do seguinte:

  • AWS SDK para C++ 1.7.36 ou posterior: o SDK de criptografia da AWS para C usa o AWS SDK para C++ para interagir com o AWS KMS. Para usar o AWS KMS para proteger suas chaves de criptografia e executar muitos dos exemplos neste guia e no repositório, instale o SDK para C++. Esse SDK de C++ requer um compilador de C++ e a ferramenta curl.

Instalar o AWS Encryption SDK para C

Use o seguinte procedimento para instalar os componentes necessários e compilar o SDK de criptografia da AWS para C em sua plataforma preferencial.

Amazon Linux

Estas instruções instalam o AWS Encryption SDK para C em uma instância do Amazon Elastic Compute Cloud (Amazon EC2) com o Amazon Linux 1.

  1. Instale o CMake 3.9 ou posterior.

    Faça download e instale o CMake 3.9 ou posterior. Depois, confirme se o CMake está em seu caminho. Não use a versão mais antiga do CMake instalada pelo yum.

  2. Instale as bibliotecas dependentes.

    These instructions install the tools that the SDK de criptografia da AWS requires, including the aws-c-common library, which includes many of the basic functions that the AWS Encryption SDK para C uses.

     

    Run option A or B, but not both.

     

    If you plan to use a KMS keyring, or run the examples in the AWS Encryption SDK para C that use the Token de autenticação do AWS KMS, use installation option A. This option installs the AWS SDK para C++, which is required for the SDK de criptografia da AWS to interact with AWS Key Management Service (AWS KMS). Installing the SDK para C++ automatically installs the aws-c-common library for you.

     

    Opção A: Instalar com AWS SDK para C++ (para AWS KMS).

    The AWS SDK para C++ is required to use the AWS Encryption SDK para C with AWS KMS. It is also required for many of the examples in this guide and the examples in the aws-encryption-sdk-c repository.

     

    Run the following commands to download and install the dependent libraries for the SDK de criptografia da AWS and SDK para C++.

    sudo yum update -y sudo yum install -y openssl-devel git libcurl-devel gcc-c++

    Depois, para fazer download e instalar o SDK para C++, mude para seu diretório de compilações de preferência e execute os comandos a seguir. Quando você instala o SDK para C++, o aws-c-common é instalada automaticamente. Não a instale novamente.

     

    Estes comandos instalam apenas os módulos do AWS KMS do SDK para C++. Se você estiver usando outras bibliotecas no SDK para C++, omita o parâmetro -DBUILD_ONLY="kms", mas a instalação poderá demorar mais.

    git clone https://github.com/aws/aws-sdk-cpp.git mkdir build-aws-sdk-cpp && cd build-aws-sdk-cpp cmake -DBUILD_SHARED_LIBS=ON -DBUILD_ONLY="kms" -DENABLE_UNITY_BUILD=ON ../aws-sdk-cpp make && sudo make install ; cd ..

    Opção B: Instalar sem SDK para C++.

    Use these installation instructions only if you are not using the AWS Encryption SDK para C with AWS KMS or running the examples that use AWS KMS. These components do not allow you to use the AWS Encryption SDK para C with AWS KMS.

     

    Run the following commands to download and install the dependent libraries for the SDK de criptografia da AWS.

    sudo yum update -y sudo yum install -y openssl-devel git gcc

    Depois, para fazer download e instalar a biblioteca aws-c-common, mude para seu diretório de compilações de preferência e execute os comandos a seguir.

    git clone https://github.com/awslabs/aws-c-common.git mkdir build-aws-c-common && cd build-aws-c-common cmake -DBUILD_SHARED_LIBS=ON ../aws-c-common make && sudo make install ; cd ..
  3. Instale o SDK de criptografia da AWS.

    Mude para o diretório de preferência. Depois, execute os seguintes comandos para instalar e compilar o AWS Encryption SDK para C.

    git clone https://github.com/aws/aws-encryption-sdk-c.git mkdir build-aws-encryption-sdk-c && cd build-aws-encryption-sdk-c cmake -DBUILD_SHARED_LIBS=ON ../aws-encryption-sdk-c make && sudo make install ; cd ..
macOS

Estas instruções instalam o SDK de criptografia da AWS em diretórios padrão em /usr/local usando o sistema de gerenciamento de pacotes Homebrew. Se você ainda não o tiver, instale o Homebrew e, depois, siga estas instruções.

  1. Instale as bibliotecas dependentes.

    O comando a seguir instala as versões necessárias do OpenSSL e do CMake.

    brew install openssl@1.1 cmake
  2. Instale a biblioteca aws-c-common e, opcionalmente, o AWS SDK para C++.

    These instructions install the tools that the SDK de criptografia da AWS requires, including the aws-c-common library, which includes many of the basic functions that the AWS Encryption SDK para C uses.

     

    Run option A or B, but not both.

     

    If you plan to use a KMS keyring, or run the examples in the AWS Encryption SDK para C that use the Token de autenticação do AWS KMS, use installation option A. This option installs the AWS SDK para C++, which is required for the SDK de criptografia da AWS to interact with AWS Key Management Service (AWS KMS). Installing the SDK para C++ automatically installs the aws-c-common library for you.

     

    Opção A: Instalar com AWS SDK para C++ (para AWS KMS).

    The AWS SDK para C++ is required to use the AWS Encryption SDK para C with AWS KMS. It is also required for many of the examples in this guide and the examples in the aws-encryption-sdk-c repository.

     

    Run the following commands to download and install the dependent libraries for the SDK de criptografia da AWS and SDK para C++.

    When you install the SDK for C++, the aws-c-common is installed automatically. Do not install it again.

    git clone https://github.com/aws/aws-sdk-cpp.git mkdir build-aws-sdk-cpp && cd build-aws-sdk-cpp cmake -DBUILD_SHARED_LIBS=ON -DBUILD_ONLY="kms" -DENABLE_UNITY_BUILD=ON ../aws-sdk-cpp make && sudo make install ; cd ..

    Opção B: Instalar sem SDK para C++.

    Use estas instruções de instalação somente se você estiver usando o AWS Encryption SDK para C com o AWS KMS ou executando os exemplos que usam o AWS KMS. Esses componentes não permitem usar o AWS Encryption SDK para C com o AWS KMS.

     

    Execute os comandos a seguir para instalar a biblioteca aws-c-common exigida pelo AWS Encryption SDK para C.

    git clone https://github.com/awslabs/aws-c-common.git mkdir build-aws-c-common && cd build-aws-c-common cmake -DBUILD_SHARED_LIBS=ON ../aws-c-common make && sudo make install ; cd ..
  3. Instale o SDK de criptografia da AWS.

    Mude para o diretório de preferência. Depois, execute os seguintes comandos para instalar e compilar o AWS Encryption SDK para C. Esses comandos especificam o local da biblioteca OpenSSL, pois o HomeBrew não a instala no local padrão.

    git clone https://github.com/aws/aws-encryption-sdk-c.git mkdir build-aws-encryption-sdk-c && cd build-aws-encryption-sdk-c cmake -DBUILD_SHARED_LIBS=ON -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl\@1.1 ../aws-encryption-sdk-c make && sudo make install ; cd ..
Ubuntu

Estas instruções instalam o AWS Encryption SDK para C no Ubuntu.

  1. Instale as bibliotecas dependentes.

    These instructions install the tools that the SDK de criptografia da AWS requires, including the aws-c-common library, which includes many of the basic functions that the AWS Encryption SDK para C uses.

     

    Run option A or B, but not both.

     

    If you plan to use a KMS keyring, or run the examples in the AWS Encryption SDK para C that use the Token de autenticação do AWS KMS, use installation option A. This option installs the AWS SDK para C++, which is required for the SDK de criptografia da AWS to interact with AWS Key Management Service (AWS KMS). Installing the SDK para C++ automatically installs the aws-c-common library for you.

     

    Opção A: Instalar com AWS SDK para C++ (para AWS KMS).

    The AWS SDK para C++ is required to use the AWS Encryption SDK para C with AWS KMS. It is also required for many of the examples in this guide and the examples in the aws-encryption-sdk-c repository.

     

    Run the following commands to download and install the dependent libraries for the SDK de criptografia da AWS and SDK para C++.

    sudo apt-get update sudo apt-get install -y libssl-dev cmake g++ libcurl4-openssl-dev zlib1g-dev

    Depois, para fazer download e instalar o SDK para C++, mude para seu diretório de compilações de preferência e execute os comandos a seguir. Quando você instala o SDK para C++, o aws-c-common é instalada automaticamente. Não a instale novamente.

     

    Estes comandos instalam apenas os módulos do AWS KMS do SDK para C++. Se você estiver usando outras bibliotecas no SDK para C++, omita o parâmetro -DBUILD_ONLY="kms", mas a instalação poderá demorar mais.

    git clone https://github.com/aws/aws-sdk-cpp.git mkdir build-aws-sdk-cpp && cd build-aws-sdk-cpp cmake -DBUILD_SHARED_LIBS=ON -DBUILD_ONLY="kms" -DENABLE_UNITY_BUILD=ON ../aws-sdk-cpp make && sudo make install ; cd ..

    Opção B: Instalar sem SDK para C++.

    Use these installation instructions only if you are not using the AWS Encryption SDK para C with AWS KMS or running the examples that use AWS KMS. These components do not allow you to use the AWS Encryption SDK para C with AWS KMS.

     

    Run the following commands to download and install the dependent libraries for the SDK de criptografia da AWS.

    sudo apt-get update sudo apt-get install -y libssl-dev cmake gcc

    Depois, para fazer download e instalar a biblioteca aws-c-common, mude para seu diretório de compilações de preferência e execute os comandos a seguir.

    git clone https://github.com/awslabs/aws-c-common.git mkdir build-aws-c-common && cd build-aws-c-common cmake -DBUILD_SHARED_LIBS=ON ../aws-c-common make && sudo make install ; cd ..
  2. Instale o SDK de criptografia da AWS.

    Execute os seguintes comandos para instalar e compilar o AWS Encryption SDK para C.

    git clone https://github.com/aws/aws-encryption-sdk-c.git mkdir build-aws-encryption-sdk-c && cd build-aws-encryption-sdk-c cmake -DBUILD_SHARED_LIBS=ON ../aws-encryption-sdk-c make && sudo make install ; cd ..
Windows

As instruções a seguir instalam o SDK de criptografia da AWS e suas dependências. Elas requerem Visual Studio 15 ou posterior, o Git para Windows e a Biblioteca de tempo de execução C universal. Execute os comandos a seguir no x64 Native Tools Command Prompt for Visual Studio em seu diretório de instalação e compilação de preferência.

  1. Instale as bibliotecas dependentes.

    Estes comandos instalam o gerenciador de bibliotecas vcpkg. Depois, use o vcpkg para instalar o curl e o OpenSSL.

    mkdir install && mkdir build && cd build git clone https://github.com/Microsoft/vcpkg.git cd vcpkg && .\bootstrap-vcpkg.bat .\vcpkg install curl:x64-windows openssl:x64-windows && cd ..
  2. Instale a biblioteca aws-c-common e, opcionalmente, o AWS SDK para C++.

    These instructions install the tools that the SDK de criptografia da AWS requires, including the aws-c-common library, which includes many of the basic functions that the AWS Encryption SDK para C uses.

     

    Run option A or B, but not both.

     

    If you plan to use a KMS keyring, or run the examples in the AWS Encryption SDK para C that use the Token de autenticação do AWS KMS, use installation option A. This option installs the AWS SDK para C++, which is required for the SDK de criptografia da AWS to interact with AWS Key Management Service (AWS KMS). Installing the SDK para C++ automatically installs the aws-c-common library for you.

     

    Opção A: Com AWS SDK para C++ para AWS KMS

    O AWS SDK para C++ é necessário para usar o AWS Encryption SDK para C com o AWS KMS. Ele também é necessário para muitos dos exemplos neste guia e para os exemplos no repositório aws-encryption-sdk-c.

     

    Os comandos a seguir instalam apenas os módulos do AWS KMS do SDK para C++. Se você estiver usando outras bibliotecas no SDK para C++, omita o parâmetro -DBUILD_ONLY="kms", mas a instalação poderá demorar mais.

     

    Execute os seguintes comandos no diretório de compilação preferencial. Quando você instala o SDK para C++, o aws-c-common é instalada automaticamente. Não a instale novamente.

    git clone https://github.com/aws/aws-sdk-cpp.git mkdir build-aws-sdk-cpp && cd build-aws-sdk-cpp cmake -DCMAKE_INSTALL_PREFIX=%cd%\..\..\install -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DENABLE_UNITY_BUILD=ON -DBUILD_ONLY=kms -DCMAKE_TOOLCHAIN_FILE=%cd%\..\vcpkg\scripts\buildsystems\vcpkg.cmake -G Ninja ..\aws-sdk-cpp cmake --build . && cmake --build . --target install && cd ..

    Opção B: Sem SDK para C++.

    Use estas instruções de instalação somente se você estiver usando o AWS Encryption SDK para C com o AWS KMS ou executando os exemplos que usam o AWS KMS.

     

    Execute os seguintes comandos no diretório de compilação preferencial. Estes comandos instalam e compilam a biblioteca aws-c-common. Esses componentes não permitem usar o AWS Encryption SDK para C com o AWS KMS.

    git clone https://github.com/awslabs/aws-c-common.git mkdir build-aws-c-common && cd build-aws-c-common cmake -DCMAKE_INSTALL_PREFIX=%cd%\..\..\install -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_TOOLCHAIN_FILE=%cd%\..\vcpkg\scripts\buildsystems\vcpkg.cmake -G Ninja ..\aws-c-common cmake --build . && cmake --build . --target install && cd ..
  3. Instale o SDK de criptografia da AWS.

    Mude para o diretório de preferência. Depois, execute os seguintes comandos para instalar e compilar o AWS Encryption SDK para C.

    git clone https://github.com/aws/aws-encryption-sdk-c.git mkdir build-aws-encryption-sdk-c && cd build-aws-encryption-sdk-c cmake -DCMAKE_INSTALL_PREFIX=%cd%\..\..\install -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_TOOLCHAIN_FILE=%cd%\..\vcpkg\scripts\buildsystems\vcpkg.cmake -G Ninja ..\aws-encryption-sdk-c cmake --build . && cmake --build . --target install && cd ..

Compilar e criar

Depois de instalar o SDK, você pode começar a criá-lo e usá-lo. Este guia inclui tópicos que ajudam a entender os tokens de autenticação, escolher um token de autenticação, aprender os padrões de programação básicos e trabalhar com um exemplo simples.

Para obter ajuda para compilar e criar seus aplicativos, consulte o arquivo README no repositório do aws-encryption-sdk-c.