keyUsage 명령을 찾을 수 없습니다(비대화형 모드에서 인증서를 생성하는 데 사용됨)

keyUsage 명령을 찾을 수 없습니다(비대화형 모드에서 인증서를 생성하는 데 사용됨)

내 웹사이트에 대한 인증서 파일을 만들고 싶습니다.

과거에는 이 작업을 위해 비대화형 스크립트를 사용했는데 잘 작동했습니다.

이제 이 스크립트를 다시 사용하고 싶지만 다음 줄에서 중지됩니다. 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

관련 정보