Перейти к содержанию

Валидация пользовательских сертификатов в Octopus

После получения файлов от frontend, мы можем проверить файлы и убедиться, что один из них является файлом сертификата, а другой — приватного ключа. Это можно сделать с использованием openssl или же средствами Java:

openssl x509 -in nginx.crt -noout -text
openssl rsa -in nginx.key -check -noout
byte[] decoded = Base64.getDecoder().decode(certContent);
CertificateFactory cf = CertificateFactory.getInstance("X.509");
return (X509Certificate) cf.generateCertificate(new ByteArrayInputStream(decoded));

...

byte[] keyBytes = Base64.getDecoder().decode(pem);
PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(keyBytes);
KeyFactory kf = KeyFactory.getInstance("RSA"); 

Если сертификат и ключ удалось загрузить, то считаем их валидными.

Если сертификат и ключ валидные, то можно перезагрузить конфигурацию nginx:

nginx -s reload