내 웹사이트에 대한 인증서 파일을 만들고 싶습니다.
과거에는 이 작업을 위해 비대화형 스크립트를 사용했는데 잘 작동했습니다.
이제 이 스크립트를 다시 사용하고 싶지만 다음 줄에서 중지됩니다.
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
다음 오류가 발생합니다.
./scripts/generate-ssl-certificat.sh: 16행: keyUsage: 명령을 찾을 수 없음
Ubuntu 18 시스템에 다음 패키지를 설치했습니다.
- sudo apt-get 설치 openssl SSL-cert
- sudo apt-get 설치 ca 인증서 -y
keyUsage를 구현하려면 어떤 패키지가 필요합니까?
다음은 자동으로 생성된 인증서 스크립트입니다.
mkdir ~/certs
cd ~/certs
### Certificat Authority
openssl genrsa -des3 -out myCA.key 2048 # generate Certificat Authority key
openssl req -x509 -new -nodes -key myCA.key -sha256 -days 1825 -out myCA.pem # generate root certificat
### Certificat webSite
openssl genrsa -out compty-tmp.key 2048
openssl req -new -key compty-tmp.key -out compty-tmp.csr
### create compty-tmp.ext
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = compty-tmp
### create the certificate: using our CSR, the CA private key, the CA certificate, and the config file:
openssl x509 -req -in compty-tmp.csr -CA myCA.pem -CAkey myCA.key \
-CAcreateserial -out compty-tmp.crt -days 825 -sha256 -extfile compty-tmp.ext
답변1
다음 섹션:
### create compty-tmp.ext
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = compty-tmp
compty-tmp.ext
마지막 줄의 옵션을 통해 OpenSSL에 전달되는 별도의 파일( )에 생성됨을 의미합니다 . -ext compty-tmp.ext
위 부분은 스크립트가 아니고 OpenSSL 구성 파일 형식입니다.
처음 두 줄에는 등호 앞에 공백이 없으므로 쉘은 이를 변수 할당으로 해석합니다. 세 번째 줄에는 등호(OpenSSL 구성 파일에서 허용됨) 앞에 공백이 있으므로 쉘이 이를 좋아하지 않습니다.
따라서 위 섹션을 새 파일로 자르고 다음을 스크립트로 유지하십시오.
mkdir ~/certs
cd ~/certs
### Certificat Authority
openssl genrsa -des3 -out myCA.key 2048 # generate Certificat Authority key
openssl req -x509 -new -nodes -key myCA.key -sha256 -days 1825 -out myCA.pem # generate root certificat
### Certificat webSite
openssl genrsa -out compty-tmp.key 2048
openssl req -new -key compty-tmp.key -out compty-tmp.csr
### create the certificate: using our CSR, the CA private key, the CA certificate, and the config file:
openssl x509 -req -in compty-tmp.csr -CA myCA.pem -CAkey myCA.key \
-CAcreateserial -out compty-tmp.crt -days 825 -sha256 -extfile compty-tmp.ext