Oleg Kurchenko created JAMES-4226:
-------------------------------------

             Summary: Problem during reading: -----END PRIVATE KEY----- not 
found
                 Key: JAMES-4226
                 URL: https://issues.apache.org/jira/browse/JAMES-4226
             Project: James Server
          Issue Type: Bug
          Components: Mailet Contributions
    Affects Versions: 3.9.0
         Environment: Linux 857155.cloud4box.ru 7.0.0-22-generic #22-Ubuntu SMP 
PREEMPT_DYNAMIC Mon May 25 15:54:34 UTC 2026 x86_64 GNU/Linux
openjdk 21.0.12 2026-07-21
OpenJDK Runtime Environment (build 21.0.12+8-1-26.04-Ubuntu)
OpenJDK 64-Bit Server VM (build 21.0.12+8-1-26.04-Ubuntu, mixed mode, sharing)

            Reporter: Oleg Kurchenko


on start
{code:java}
05-сент.-2026 14:40:39.218 ERROR [main] 
org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor.parseConfiguration:327
 - Unable to init mailet org.apache.james.jdkim.mailets.DKIMSign
jakarta.mail.MessagingException: Problem during reading: -----END PRIVATE 
KEY----- not found
    at org.apache.james.jdkim.mailets.DKIMSign.init(DKIMSign.java:150) 
~[james-server-mailet-dkim-3.9.0.jar:3.9.0]
    at org.apache.mailet.base.GenericMailet.init(GenericMailet.java:227) 
~[apache-mailet-base-3.9.0.jar:3.9.0]
    at 
org.apache.james.container.spring.bean.factory.mailetcontainer.MailetLoaderBeanFactory.getMailet(MailetLoaderBeanFactory.java:45)
 ~[james-server-spring-3.9.0.jar:3.9.0]
    at 
org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor.parseConfiguration(AbstractStateMailetProcessor.java:323)
 ~[james-server-mailetcontainer-impl-3.9.0.jar:3.9.0]
    at 
org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor.init(AbstractStateMailetProcessor.java:118)
 ~[james-server-mailetcontainer-impl-3.9.0.jar:3.9.0]
    at 
org.apache.james.mailetcontainer.impl.MailetProcessorImpl.init(MailetProcessorImpl.java:196)
 ~[james-server-mailetcontainer-impl-3.9.0.jar:3.9.0]
    at 
org.apache.james.mailetcontainer.impl.CompositeProcessorImpl.createMailProcessor(CompositeProcessorImpl.java:72)
 ~[james-server-mailetcontainer-impl-3.9.0.jar:3.9.0]
    at 
org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessor.init(AbstractStateCompositeProcessor.java:177)
 ~[james-server-mailetcontainer-impl-3.9.0.jar:3.9.0]
    at 
org.apache.james.mailetcontainer.impl.CompositeProcessorImpl.init(CompositeProcessorImpl.java:60)
 ~[james-server-mailetcontainer-impl-3.9.0.jar:3.9.0]
    at 
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
 ~[?:?]
    at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
    at 
org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMethod.invoke(InitDestroyAnnotationBeanPostProcessor.java:457)
 ~[spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:401)
 ~[spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:219)
 ~[spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:429)
 ~[spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1818)
 ~[spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:607)
 ~[spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529)
 ~[spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339)
 ~[spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:373)
 [spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337)
 [spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
 [spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1222)
 [spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1188)
 [spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1123)
 [spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:987)
 [spring-context-6.2.8.jar:6.2.8]
    at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627)
 [spring-context-6.2.8.jar:6.2.8]
    at 
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:144)
 [spring-context-6.2.8.jar:6.2.8]
    at 
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:95)
 [spring-context-6.2.8.jar:6.2.8]
    at 
org.apache.james.container.spring.context.JamesServerApplicationContext.<init>(JamesServerApplicationContext.java:43)
 [james-server-spring-3.9.0.jar:3.9.0]
    at 
org.apache.james.app.spring.JamesAppSpringMain.init(JamesAppSpringMain.java:81) 
[james-server-spring-app-3.9.0.jar:3.9.0]
    at 
org.apache.james.app.spring.JamesAppSpringMain.main(JamesAppSpringMain.java:57) 
[james-server-spring-app-3.9.0.jar:3.9.0]
Caused by: java.io.IOException: -----END PRIVATE KEY----- not found
    at org.bouncycastle.util.io.pem.PemReader.loadObject(Unknown Source) 
~[bcprov-jdk18on-1.81.jar:?]
    at org.bouncycastle.util.io.pem.PemReader.readPemObject(Unknown Source) 
~[bcprov-jdk18on-1.81.jar:?]
    at org.bouncycastle.openssl.PEMParser.readObject(Unknown Source) 
~[bcpkix-jdk18on-1.81.jar:?]
    at 
org.apache.james.jdkim.mailets.DKIMSign.extractPrivateKey(DKIMSign.java:208) 
~[james-server-mailet-dkim-3.9.0.jar:3.9.0]
    at org.apache.james.jdkim.mailets.DKIMSign.init(DKIMSign.java:144) 
~[james-server-mailet-dkim-3.9.0.jar:3.9.0]
    ... 31 more
05-сент.-2026 14:40:39.240 ERROR [main] 
org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor.parseConfiguration:329
 - Caused by nested exception: 
java.io.IOException: -----END PRIVATE KEY----- not found
    at org.bouncycastle.util.io.pem.PemReader.loadObject(Unknown Source) 
~[bcprov-jdk18on-1.81.jar:?]
    at org.bouncycastle.util.io.pem.PemReader.readPemObject(Unknown Source) 
~[bcprov-jdk18on-1.81.jar:?]
    at org.bouncycastle.openssl.PEMParser.readObject(Unknown Source) 
~[bcpkix-jdk18on-1.81.jar:?]
    at 
org.apache.james.jdkim.mailets.DKIMSign.extractPrivateKey(DKIMSign.java:208) 
~[james-server-mailet-dkim-3.9.0.jar:3.9.0]
    at org.apache.james.jdkim.mailets.DKIMSign.init(DKIMSign.java:144) 
~[james-server-mailet-dkim-3.9.0.jar:3.9.0]
    at org.apache.mailet.base.GenericMailet.init(GenericMailet.java:227) 
~[apache-mailet-base-3.9.0.jar:3.9.0]
    at 
org.apache.james.container.spring.bean.factory.mailetcontainer.MailetLoaderBeanFactory.getMailet(MailetLoaderBeanFactory.java:45)
 ~[james-server-spring-3.9.0.jar:3.9.0]
    at 
org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor.parseConfiguration(AbstractStateMailetProcessor.java:323)
 ~[james-server-mailetcontainer-impl-3.9.0.jar:3.9.0]
    at 
org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor.init(AbstractStateMailetProcessor.java:118)
 ~[james-server-mailetcontainer-impl-3.9.0.jar:3.9.0]
    at 
org.apache.james.mailetcontainer.impl.MailetProcessorImpl.init(MailetProcessorImpl.java:196)
 ~[james-server-mailetcontainer-impl-3.9.0.jar:3.9.0]
    at 
org.apache.james.mailetcontainer.impl.CompositeProcessorImpl.createMailProcessor(CompositeProcessorImpl.java:72)
 ~[james-server-mailetcontainer-impl-3.9.0.jar:3.9.0]
    at 
org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessor.init(AbstractStateCompositeProcessor.java:177)
 ~[james-server-mailetcontainer-impl-3.9.0.jar:3.9.0]
    at 
org.apache.james.mailetcontainer.impl.CompositeProcessorImpl.init(CompositeProcessorImpl.java:60)
 ~[james-server-mailetcontainer-impl-3.9.0.jar:3.9.0]
    at 
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
 ~[?:?]
    at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
    at 
org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMethod.invoke(InitDestroyAnnotationBeanPostProcessor.java:457)
 ~[spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:401)
 ~[spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:219)
 ~[spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:429)
 ~[spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1818)
 ~[spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:607)
 ~[spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529)
 ~[spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339)
 ~[spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:373)
 [spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337)
 [spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
 [spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1222)
 [spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1188)
 [spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1123)
 [spring-beans-6.2.8.jar:6.2.8]
    at 
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:987)
 [spring-context-6.2.8.jar:6.2.8]
    at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627)
 [spring-context-6.2.8.jar:6.2.8]
    at 
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:144)
 [spring-context-6.2.8.jar:6.2.8]
    at 
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:95)
 [spring-context-6.2.8.jar:6.2.8]
    at 
org.apache.james.container.spring.context.JamesServerApplicationContext.<init>(JamesServerApplicationContext.java:43)
 [james-server-spring-3.9.0.jar:3.9.0]
    at 
org.apache.james.app.spring.JamesAppSpringMain.init(JamesAppSpringMain.java:81) 
[james-server-spring-app-3.9.0.jar:3.9.0]
    at 
org.apache.james.app.spring.JamesAppSpringMain.main(JamesAppSpringMain.java:57) 
[james-server-spring-app-3.9.0.jar:3.9.0] {code}
but in config (work with 3.8.2)
{code:java}
   <mailet match="All" class="org.apache.james.jdkim.mailets.DKIMSign">
              <signatureTemplate>v=1; s=james; d=*******.ru; 
h=Message-ID:Date:Subject:From:To:MIME-Version:Content-Type; a=rsa-sha256; bh=; 
b=;</signatureTemplate>
              <privateKey>
                -----BEGIN PRIVATE 
KEY-----MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCpWOJIU5PKIeMa
......................                 
+1xIWFWk4dVXbiVmwC1gWXE=
                -----END PRIVATE KEY-----
          </privateKey>
        </mailet>
{code}
 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to