Синтаксическая ошибка: "(" непредвиденная ошибка при создании сертификата openssl с помощью команды bash - PullRequest
0 голосов
/ 24 января 2019

Используя инструкции над здесь для определения поля SAN внутри сертификата openssl, я использую следующие команды для создания собственного самозаверяющего сертификата:

openssl genrsa -out domain.org.key
openssl req -newkey rsa:2048 -nodes -keyout domain.org.key -subj "/C=CN/ST=GD/L=SZ/O=Acme, Inc./CN=*.domain.org" -out domain.org.csr
openssl x509 -req -extfile <(printf "subjectAltName=DNS:domain.org,DNS:www.domain.org") -days 365 -in domain.org.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out domain.org.crt

Однако я получаю следующую ошибку:

Syntax error: "(" unexpected

Я не вижу ничего особенного в используемом синтаксисе bash, кто-нибудь может помочь?

1 Ответ

0 голосов
/ 24 января 2019

Это сообщение об ошибке не похоже на Bash для меня;скорее, сообщения об ошибках Bash выглядят так:

bash: syntax error near unexpected token `('

Я рекомендую дважды проверить, что вы запускаете эти команды в Bash, а не в другой оболочке.(Подстановка процессов не указана в POSIX, поэтому не все оболочки поддерживают ее.)

Если окажется, что Bash недоступен, вы можете использовать временный файл:

printf "subjectAltName=DNS:domain.org,DNS:www.domain.org" > tmp-ext-file
openssl x509 -req -extfile tmp-ext-file -days 365 -in domain.org.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out domain.org.crt

или стандартный ввод:

printf "subjectAltName=DNS:domain.org,DNS:www.domain.org" \
| openssl x509 -req -extfile /dev/stdin -days 365 -in domain.org.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out domain.org.crt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...