[ 
https://issues.apache.org/jira/browse/KNOX-1820?focusedWorklogId=213217&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-213217
 ]

ASF GitHub Bot logged work on KNOX-1820:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 14/Mar/19 16:09
            Start Date: 14/Mar/19 16:09
    Worklog Time Spent: 10m 
      Work Description: risdenk commented on pull request #72: KNOX-1820 - 
Cleanup KeystoreService implementations and add unit tests
URL: https://github.com/apache/knox/pull/72#discussion_r265647540
 
 

 ##########
 File path: 
gateway-server/src/main/java/org/apache/knox/gateway/services/security/impl/DefaultKeystoreService.java
 ##########
 @@ -473,13 +482,113 @@ private KeyStore getKeystore(Path keystorePath, String 
keystoreType, String alia
 
     readLock.lock();
     try {
-      return getKeystore(keystoreFile, keystoreType, 
getKeystorePassword(alias));
+      return loadKeyStore(keystorePath, keystoreType, 
getKeyStorePassword(alias));
     } finally {
       readLock.unlock();
     }
   }
 
-  private char[] getKeystorePassword(String alias) throws 
KeystoreServiceException {
+  private boolean isKeyStoreAvailable(final Path keyStoreFilePath, String 
storeType, char[] password) throws KeyStoreException, IOException {
+    if (keyStoreFilePath.toFile().exists()) {
+      try (InputStream input = Files.newInputStream(keyStoreFilePath)) {
+        final KeyStore keyStore = KeyStore.getInstance(storeType);
+        keyStore.load(input, password);
+        return true;
+      } catch (NoSuchAlgorithmException | CertificateException e) {
+        LOG.failedToLoadKeystore(keyStoreFilePath.toString(), storeType, e);
+      } catch (IOException | KeyStoreException e) {
+        LOG.failedToLoadKeystore(keyStoreFilePath.toString(), storeType, e);
+        throw e;
 
 Review comment:
   Hmmm not sure why there are two catches. I'd have to check where this is 
copied from. If they are two different cases, I would expect two different log 
messages. I think we should either throw an Exception or not in both cases to 
be consistent. Not sure if throwing the exception is a good idea?
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 213217)
    Time Spent: 2.5h  (was: 2h 20m)

> Cleanup KeystoreService implementations and add unit tests
> ----------------------------------------------------------
>
>                 Key: KNOX-1820
>                 URL: https://issues.apache.org/jira/browse/KNOX-1820
>             Project: Apache Knox
>          Issue Type: Improvement
>          Components: Server
>            Reporter: Robert Levas
>            Assignee: Robert Levas
>            Priority: Minor
>              Labels: cleanup
>             Fix For: 1.3.0
>
>          Time Spent: 2.5h
>  Remaining Estimate: 0h
>
> {{org.apache.knox.gateway.services.security.impl.BaseKeystoreService}} should 
> be an abstract class extended by 
> {{org.apache.knox.gateway.services.security.impl.CMFKeystoreService}} and 
> {{DefaultKeystoreService}.  
> Unit test for these classes are missing and should be added.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to