我需要為一個spring boot專案實作以下功能:從S3桶中讀取JKS檔案,并檢查證書的到期日期,當證書還有X天或幾周就要到期時,使用cron job來檢查并發送警報。
我能夠在記憶體中獲得作為位元組陣列的檔案。這幾乎是它的極限了。由于鑰匙庫不能被序列化,我無法對它做任何事情......我只能用一個位元組數來處理。我只是被困在一個位元組陣列中。
有誰知道...?讓我看看你的編程技巧吧:)
有誰愿意接受?
uj5u.com熱心網友回復:
KeyStore類有一個load()方法,需要一個InputStream。你可以將一個位元組陣列包裹在ByteArrayInputStream中。
你應該能夠像這樣從一個位元組陣列中加載一個KeyStore:
KeyStore ks = KeyStore.getInstance("JKS")。
ks.load(new ByteArrayInputStream(myByteArray), myKeystorePassword)。
你應該能夠按照這里發布的解決方案,然后檢查過期日期。
uj5u.com熱心網友回復:
我是這樣解決的:
KeyStore ks = KeyStore.getInstance("JKS")。
ks.load(new ByteArrayInputStream(myByteArray), keyStorePassword.toCharArray()) 。
Enumeration<String> aliases = ks.aliases();
for(; aliases.hasMoreElements();) {
String alias = (String) aliases.nextElement() 。
Date certExpiryDate = (((X509Certificate)ks.getCertificate(alias)).getNotAfter()。
System.out.println("certExpiryDate = " certExpiryDate);}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/319187.html
標籤:
