29 апр. 2025 г.
Чтобы использовать Microsoft SignTool с AWS CloudHSM, необходимо следующее:
Клиентские экземпляры Amazon EC2 под управлением операционной системы Windows.
Учетная запись на GCC для получения сертификата подписи кода.
Активный кластер AWS CloudHSM в том же виртуальном публичном облаке (VPC), что и ваш экземпляр EC2. Кластер должен содержать как минимум один HSM.
Криптопользователь (CU) для владения и управления ключами в кластере AWS CloudHSM.
Неподписанный файл или исполняемый файл.
Комплект средств разработки программного обеспечения (SDK) для Microsoft Windows.
Клиент AWS CloudHSM в соответствии с совместимостью с ОС.
Чтобы запустить экземпляр Windows EC2 и кластер AWS CloudHSM, следуйте инструкциям, приведенным в разделе "Начало работы" этого руководства.
Разместите сервер Windows в качестве центра сертификации, выполнив шаги 1 и 2 в разделе Настройка Windows Server в качестве центра сертификации с AWS CloudHSM.
Загрузите и установите Microsoft Windows SDK на экземпляр Windows EC2:
https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk
Исполняемый файл SignTool является частью функции установки Windows SDK Signing Tools for Desktop Apps. Вы можете не устанавливать другие функции, если они вам не нужны.
Установите и настройте клиентский SDK3 AWS CloudHSM на экземплярах Windows:
Следуйте инструкциям, описанным в документе: Downloads for AWS CloudHSM Client SDK - AWS CloudHSM
После установки клиента и SDK для MS Windows создайте и активируйте кластер:
Откройте консоль AWS CloudHSM по адресу https://console.aws.amazon.com/cloudhsm/home.
На панели навигации используйте селектор регионов, чтобы выбрать один из регионов AWS в которых в настоящее время поддерживается AWS CloudHSM.,
Выберите Создать кластер.
В разделе Конфигурация кластера выполните следующие действия:
A. Для VPC выберите VPC, созданный в разделе Создание виртуального частного облака (VPC).
B. В разделе Зона(ы) доступности рядом с каждой зоной доступности выберите созданную частную подсеть. Выберите Далее.
C. Укажите, как долго служба должна сохранять резервные копии.
Выберите Далее.
(Необязательно) Введите ключ метки и необязательное значение метки. Чтобы добавить в кластер более одной метки, выберите Добавить метку.
Нажмите кнопку Далее.
Просмотрите конфигурацию кластера, а затем выберите Создать кластер.
Создание кластера займет несколько минут, после создания кластера он будет находиться в неинициализированном состоянии.
Выберите радиокнопку рядом с идентификатором кластера и выберите инициализировать. Инициализация займет до 10 минут.
Чтобы инициализировать кластер, необходимо сначала создать HSM в кластере. Выберите зону доступности для создания HSM.
После выбора зоны доступности нажмите кнопку создать.
На экране появится следующее изображение:
После завершения инициализации он попросит вас загрузить сертификаты.
Загрузите кластерный CSR и нажмите на кнопку next.
Теперь подключите один из запущенных экземпляров ec2, на котором вы настроили клиентский SDK3 AWS CloudHSM, и выполните дальнейшие действия.
Скопируйте и вставьте загруженный CSR на экземпляр ec2.
Используйте следующую команду для создания закрытого ключа. При инициализации кластера AWS CloudHSM необходимо использовать сертификат RSA 2048 или сертификат RSA 4096.
openssl genrsa -aes256 -out customerCA.key 4096
Используйте закрытый ключ для создания самоподписного сертификата, при этом система также должна предоставлять программное средство для создания самоподписного сертификата с использованием этого ключа. В следующем примере для создания сертификата подписи используется OpenSSL и закрытый ключ, созданный в предыдущем шаге.
Надежное оборудование, которое вы используете для создания закрытого ключа для производственного кластера, также должно предоставлять инструмент для подписания CSR с помощью этого ключа.
openssl x509 -req -days 3652 -in cluster-s57d6i22vl5_ClusterCsr.csr \ -CA customerCA.crt \ -CAkey customerCA.key \ -CAcreateserial \ -out cluster-s57d6i22vl5_CustomerHsmCertificate.crt
Примечание: Выполните приведенную выше команду openssl в той же директории, куда вы вставили кластерный CSR.
Теперь у вас есть сертификат customerCA.crt и сертификат кластера с именем _CustomerHsmCertificate.crt. Загрузите сертификат через портал CloudHSM.
Нажмите на кнопку Upload File (Загрузить файл) и перейдите к месту, где находятся файлы _CustomerHsmCertificate.crt и customerCA.crt.
После загрузки файлов нажмите на кнопку Upload and Initialise, и начнется инициализация, которая займет несколько минут. После инициализации кластера давайте активируем его с помощью SDK3.
После инициализации кластера настройте группу безопасности CloudHSM для экземпляра.
Активация кластера:
Разместите кластер и сертификат якоря на AWS CloudHSM, чтобы активировать кластер.
1. Добавьте якорный сертификат доверия HSM customerCA.crt в папку `C:\ProgramData\Amazon\CloudHSM\`.
2. Настройте клиента с IP-адресом HSM.
$ cd C:\Program Files\Amazon\CloudHSM\
$ configure.exe -a
3. Запустите CloudHSM Client:
$.\cloudhsm-cli.exe interactive
4. Выполните следующую команду для активации кластера после подключения к сессии cloudhsm.
aws-cloudhsm>activate cluster
По умолчанию будет предложено ввести пароль для пользователя admin.
5. Теперь кластер активирован, войдите в систему под пользователем admin с помощью следующей команды
aws-cloudhsm>login --username admin --role
6. Создайте пользователя CU, который необходим
aws-cloudhsm>user create --username --role crypto-user
7. Выйдите из системы пользователя admin
aws-cloudhsm>logout
8. Войдите в систему под пользователем CU
aws-cloudhsm>login --username --role crypto-user
Теперь кластер активен, давайте настроим учетные данные HSM:
1. $ cd C:\Program Files\Amazon\CloudHSM\tools\
2. $ set_cloudhsm_credentials.exe --username --password
Настройте клиента с IP-адресом HSM.
1. $ cd C:\Program Files\Amazon\CloudHSM\
2. $ configure.exe -a
Остановите и запустите клиент CloudHSM:
1. $ net.exe stop AWSCloudHSMClient
2. $ net.exe start AWSCloudHSMClient
Проверьте установку CSP:
1. ksp_config.exe -enum
2. cng_config.exe -enum
Создайте файл request.inf
Сгенерируйте CSR:
1. $ certreq.exe -new request.inf request.csr
Получите CSR, подписанный вашим управляющим центром сертификации.
Получив подписанный сертификат, установите его на сервер.
Выполните приведенную ниже команду, чтобы связать сертификат с Cavium Storage Provider:
$ certutil -f -csp "Cavium Key Storage Provider" -repairstore My ""
Чтобы подписать исполняемый файл этим сертификатом, установите SignTool
>> https://go.microsoft.com/fwlink/?linkid=2261842
Откройте Powershell и выполните следующие команды:
$ Get-ChildItem -path cert:\LocalMachine\My
Скопируйте отпечаток пальца, полученный для вашего сертификата.
Перейдите в каталог PowerShell, содержащий SignTool.exe.
По умолчанию это C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64.
Подпишите файл, выполнив следующую команду.
$ signtool.exe sign /v /fd sha256 /sha1 /sm C:\Users\Administrator\Desktop\.ps1
Чтобы проверить подпись на файле, выполните следующую команду:
$ signtool.exe verify /v /pa C:\Users\Administrator\Desktop\.ps1
Убедитесь, что группа CloudHSM Security настроена для вашего экземпляра EC2.
Не забудьте обновить HSM IP на экземпляре при запуске нового экземпляра HSM.
Запустив кластер, вы можете продолжать его использовать. Чтобы избежать расходов, просто удалите экземпляр HSM и запустите его, когда он вам понадобится.
Сканируйте конечные точки, чтобы найти все ваши сертификаты.
Войти / ЗарегистрироватьсяПроверьте установку сертификата на наличие проблем и уязвимостей SSL.