署名

mkdir -p /home/ictsc/harbor/cert && cd /home/ictsc/harbor/cert

# 秘密鍵の作成
openssl genrsa -out harbor.key 2048

# CSR(証明書署名要求)の作成
openssl req -new -key harbor.key \
  -subj "/C=JP/ST=Tokyo/L=Chiyoda/O=MyOrg/OU=IT Dept/CN=your.harbor.domain" \
  -out harbor.csr

# 自己署名証明書の生成(有効期限365日)
openssl x509 -req -in harbor.csr -signkey harbor.key \
  -days 365 -out harbor.crt
openssl genrsa -out ca.key 4096
openssl req -x509 -new -nodes -sha512 -days 3650 \
 -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=MyPersonal Root CA" \
 -key ca.key \
 -out ca.crt
 
openssl genrsa -out yourdomain.com.key 4096
 
openssl req -sha512 -new \
   -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=yourdomain.com" \
   -key yourdomain.com.key \
   -out yourdomain.com.csr

cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

[alt_names]
DNS.1=yourdomain.com
DNS.2=yourdomain
DNS.3=hostname
EOF

openssl x509 -req -sha512 -days 3650 \
    -extfile v3.ext \
    -CA ca.crt -CAkey ca.key -CAcreateserial \
    -in yourdomain.com.csr \
    -out yourdomain.com.crt
# 1) CA 用秘密鍵を生成
openssl genrsa -out ca.key 4096

# 2) CA 証明書を自己署名で生成(有効期限 10 年)
openssl req -x509 -new -nodes -sha512 -days 3650 \
  -subj "/C=JP/ST=Tokyo/L=Chiyoda/O=MyOrg/OU=IT Dept/CN=MyRootCA" \
  -key ca.key \
  -out ca.crt

cat > v3.ext <<EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

[alt_names]
IP.1 = 172.16.250.46
EOF

# 1) サーバー用秘密鍵を生成
openssl genrsa -out 172.16.250.46.key 4096

# 2) CSR(証明書署名要求)を作成(CN に IP)
openssl req -new -key 172.16.250.46.key \
  -subj "/CN=172.16.250.46" \
  -out 172.16.250.46.csr

# 3) CA で CSR に署名して証明書を生成
openssl x509 -req -in 172.16.250.46.csr \
  -CA ca.crt -CAkey ca.key -CAcreateserial \
  -out 172.16.250.46.crt -days 365 \
  -extfile v3.ext



# docker用に
cd ~/harbor/cert
openssl x509 -inform PEM -in 172.16.250.46.crt -out 172.16.250.46.cert

sudo mkdir -p /etc/docker/certs.d/172.16.250.46
← Go home