Package ru.bitel.bgbilling.server.util
Class KeyStoreUtils
java.lang.Object
ru.bitel.bgbilling.server.util.KeyStoreUtils
Всё про реализацию и работу с KeyStore в биллинге
- 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionstatic booleancheckTrustStoreNotEmpty(String password) Проверка, что в .keystore есть TrustedCertificateEntry.static SSLContextcreateSSLContext(File privateKey, String privateKeyPassword, X509Certificate[] chain, File... hostCrts) Создаёт SSLContext с keystore и truststore, общий код используется в модулях для ssl к банкам итд.static FileFile на keystore-файл биллинга, поддерживается и новый и старый файлstatic PrivateKeygetPrivateKey(Setup setup, String alias) Получение приватного ключа из файла .keystore по алиасу. 
- 
Constructor Details
- 
KeyStoreUtils
public KeyStoreUtils() 
 - 
 - 
Method Details
- 
getKeyStoreFile
File на keystore-файл биллинга, поддерживается и новый и старый файл - 
checkTrustStoreNotEmpty
Проверка, что в .keystore есть TrustedCertificateEntry.- Parameters:
 password-- Returns:
 
 - 
getPrivateKey
Получение приватного ключа из файла .keystore по алиасу. Используется параметр keystore.password из сетапа и как пароль кейстора и как пароль приватного ключа При неудаче пытается взять по пустому паролю ещё (частый кейс: приватные без ключа либо унлоченные).- Parameters:
 setup- серверный сетапalias- алиас, если null - первый попавшийся (из тех у кого первым и пароль подойдёт) PrivateKey в кейсторе- Returns:
 - PrivateKey, если такого алиаса нет - то null (так делает сразу штатный store.getKey), если пароль неверный то тоже null в нашей реализации + ругнётся в логи.
 
 - 
createSSLContext
public static SSLContext createSSLContext(File privateKey, String privateKeyPassword, X509Certificate[] chain, File... hostCrts) throws Exception Создаёт SSLContext с keystore и truststore, общий код используется в модулях для ssl к банкам итд.- Parameters:
 privateKey- [keystore] файл приват.ключа (например, key.pem)privateKeyPassword- [keystore] пароль от приват.ключаchain- [keystore] чейн сертификатов для соответствующего приватному открытого ключа (состоящий например из cert.pem, или cert.pem+ca.pem)hostCrts- [truststore] файл(ы) сертификата (например host.pem или ca.crt, или host.pem+ca.pem)- Returns:
 - новый объект SSLContext
 - Throws:
 Exception
 
 -