Hello again,  It appears that I have managed to make a bit of progress
on my own since my original post. For some odd reason I got past the
FileNotFound exception by changing (adding) execute permission to the
directory containing the keystore file. So now it is set as follows -

quasar:/mail/apache-james-3.4/james-server-app-3.4.0/conf # ll -d
keystore.privateFiles
drwxrwxrwx 2 james mail 4096 Dec 27 22:11 keystore.privateFiles

It is a puzzler (at least to me) why adding execute permissions would
allow James to find my Keystore file. But I immediately hit another
snag, James is not correctly applying the password to access the
keystore file and throwing another exception. The smtpserver.xml is
configured as follows -

     <tls socketTLS="false" startTLS="true">
      
<keystore>file:/mail/apache-james-3.4/james-server-app-3.4.0/conf/keystore</keystore>
       <secret>mypassword</secret>
      
<provider>org.bouncycastle.jce.provider.BouncyCastleProvider</provider>
       <algorithm>SunX509</algorithm>
     </tls>

To test the keystore file I executed the following command and it worked
fine -

quasar:/mail/apache-james-3.4/james-server-app-3.4.0/conf # keytool
-list -v -keystore
/mail/apache-james-3.4/james-server-app-3.4.0/conf/keystore -storetype
PKCS12 -storepass mypassword

The exception and stack walkback I am getting from James is shown
below.  I am continuing to Google for answers but no joy so far...
Anyone here got any ideas? Thanks again in advance...     Marc.

----

INFO   | jvm 1    | 2019/12/28 17:13:27 | WARN  17:13:26,963 |
org.apache.james.container.spring.context.JamesServerApplicationContext
| Exception encountered during context initialization - cancelling
refresh attempt:
org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'smtpserver': Invocation of init method failed; nested
exception is java.io.IOException: keystore password was incorrect
INFO   | jvm 1    | 2019/12/28 17:13:27 | INFO  17:13:26,964 |
org.apache.james.mailetcontainer.impl.JamesMailSpooler | start dispose() ...
INFO   | jvm 1    | 2019/12/28 17:13:27 | INFO  17:13:26,964 |
org.apache.james.mailetcontainer.impl.JamesMailSpooler | thread shutdown
completed.
INFO   | jvm 1    | 2019/12/28 17:13:27 |
INFO   | jvm 1    | 2019/12/28 17:13:27 | WrapperSimpleApp: Encountered
an error running main:
org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'smtpserver': Invocation of init method failed; nested
exception is java.io.IOException: keystore password was incorrect
INFO   | jvm 1    | 2019/12/28 17:13:27 |
org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'smtpserver': Invocation of init method failed; nested
exception is java.io.IOException: keystore password was incorrect
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:133)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:396)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1507)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:191)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:638)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:942)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
org.apache.james.container.spring.context.JamesServerApplicationContext.<init>(JamesServerApplicationContext.java:40)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
org.apache.james.app.spring.JamesAppSpringMain.init(JamesAppSpringMain.java:56)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
org.apache.james.app.spring.JamesAppSpringMain.main(JamesAppSpringMain.java:42)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
java.lang.reflect.Method.invoke(Method.java:498)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
java.lang.Thread.run(Thread.java:748)
INFO   | jvm 1    | 2019/12/28 17:13:27 | Caused by:
java.io.IOException: keystore password was incorrect
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:2059)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
sun.security.provider.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:238)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
sun.security.provider.JavaKeyStore$DualFormatJKS.engineLoad(JavaKeyStore.java:70)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
java.security.KeyStore.load(KeyStore.java:1445)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer.buildSSLContext(AbstractConfigurableAsyncServer.java:405)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer.init(AbstractConfigurableAsyncServer.java:263)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
org.apache.james.protocols.lib.netty.AbstractServerFactory.init(AbstractServerFactory.java:57)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
java.lang.reflect.Method.invoke(Method.java:498)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:344)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:295)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       at
org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:130)
INFO   | jvm 1    | 2019/12/28 17:13:27 |       ... 22 more
INFO   | jvm 1    | 2019/12/28 17:13:27 | Caused by:
java.security.UnrecoverableKeyException: failed to decrypt safe contents
entry: java.lang.IllegalStateException: password has been cleared
INFO   | jvm 1    | 2019/12/28 17:13:27 |       ... 36 more

-- 

  --...  ...--  .----.  ...    -..  .    .--  .-  --...  .--.  -..-  .--     -- 
 .-  .-.  -.-. 


*Computers: the final frontier. These are the voyages of the user Marc.
His mission: to explore strange new hardware. To seek out new software
and new applications.
To boldly go where no Marc has gone before!
*

Reply via email to