Я хочу сгенерировать CSR, используя ключи, хранящиеся в Google KMS. Я сгенерировал ключи, но не знаю, как сгенерировать CSR.
Я нашел примеры на GO и Python, но понятия не имею об этих языках. Я попытался сделать это в облачной консоли Google, но получил сообщение об ошибке при попытке запустить команду ниже (маскируя мои данные csr).
Команда
openssl req -new -subj '/E = {yourEmail}/CN = {companyName}/O = {companyName}/' -sha256 -engine pkcs11 -keyform engine -key pkcs11:object = {keyName}
Журналы ошибок
Invalid engine "pkcs11"
40570CD7CE7C0000:error:12800067:DSO support routines:dlfcn_load:could not load the shared library:../crypto/dso/dso_dlfcn.c:118:filename(/usr/lib/x86_64-linux-gnu/engines-3/pkcs11.so): /usr/lib/x86_64-linux-gnu/engines-3/pkcs11.so: cannot open shared object file: No such file or directory
40570CD7CE7C0000:error:12800067:DSO support routines:DSO_load:could not load the shared library:../crypto/dso/dso_lib.c:152:
40570CD7CE7C0000:error:13000084:engine routines:dynamic_load:dso not found:../crypto/engine/eng_dyn.c:422:
40570CD7CE7C0000:error:13000074:engine routines:ENGINE_by_id:no such engine:../crypto/engine/eng_list.c:430:id=pkcs11
40570CD7CE7C0000:error:12800067:DSO support routines:dlfcn_load:could not load the shared library:../crypto/dso/dso_dlfcn.c:118:filename(libpkcs11.so): libpkcs11.so: cannot open shared object file: No such file or directory
40570CD7CE7C0000:error:12800067:DSO support routines:DSO_load:could not load the shared library:../crypto/dso/dso_lib.c:152:
40570CD7CE7C0000:error:13000084:engine routines:dynamic_load:dso not found:../crypto/engine/eng_dyn.c:422:
No engine specified for loading private key
No filename or uri specified for loading private key
Я не уверен, актуально ли это, но, возможно, попробуйте запустить следующее
sudo apt-get update
sudo apt-get install libengine-pkcs11-openssl
Я нашел это по этой ссылке: https://cloud.google.com/kms/docs/reference/pkcs11-openssl
У меня была такая же проблема, и это спасло меня: https://github.com/icedevml/kms-csr-tool/tree/master
Вам необходимо установить Docker на свой компьютер, запустить его и выполнить на своем терминале следующие команды:
# ensure to delete old stale versions
docker image rm ghcr.io/icedevml/kms-csr-tool:master
# run the tool
docker run -it ghcr.io/icedevml/kms-csr-tool:master
Следуйте инструкциям, которые появятся:
ПРИМЕЧАНИЕ. Ваш закрытый ключ в Google KMS должен быть настроен с целью «Асимметричный знак».