Spring Boot JWT - файл JKS и ключ Publi c - PullRequest
0 голосов
/ 28 мая 2020

Я выполняю эти шаги, используя Java keytool и OpenSSL для создания файла JKS и ключа publi c. Использование Spring Boot Сервер авторизации будет использовать файл JKS для создания токена JWT и сервера ресурсов собираюсь использовать publi c ключ для проверки токена JWT.

1 Сначала я создаю файл JKS следующим образом: keytool -genkeypair -alias authentication-server -keyalg RSA -dname "CN=GC,OU=DC,O=BatmanCorp,L=GT,C=Gotham" -keystore auth-server.jks -keypass batman20; -storepass bruce20; -validity 180 -keysize 2048

Затем с помощью следующей команды я печатаю в консоли ключ publi c: keytool -list -rfc --keystore auth-server.jks | openssl x509 -inform pem -pubkey -noout

Используя приведенную выше команду, большую часть времени последние напечатанные строки находятся в неправильном порядке, но это простой способ получить оба файла (файл JKS и ключ publi c).

Я нашел другой способ с большим количеством шагов, после создания файла JKS я выполняю следующие шаги (возможно, эти шаги неактуальны, но могут быть полезны для кого-то другого).

2 Создать файл P12 keytool -importkeystore -srckeystore auth-server.jks -srcstorepass bruce20; -srckeypass batman20; -srcalias authentication-server -destalias authentication-server -destkeystore auth-server.p12 -deststoretype PKCS12 -deststorepass batman_20; -destkeypass batman_20;

3 Создать файл PEM openssl pkcs12 -in auth-server.p12 -nodes -nocerts -out auth-server-private-key.pem

4 Создать файл Pub openssl rsa -in auth-server-private-key.pem -pubout -out PublicKey.pub

На всех этапах я использую простые пароли и фиктивные данные, в реальных проектах я использую более сложные пароли.

Вот мои вопросы:

Можно ли на первом этапе улучшить его, чтобы повысить уровень безопасности? Есть ли другой способ создать оба файла с более высоким уровнем безопасности?

...