ssl - jboss5 sending email over smtp + tls -


i'm, having problems sending emails on smtp tls enabled on port 587 on jboss5.1

the problem looks : sun.security.provider.certpath.suncertpathbuilderexception: unable find valid certification path requested target

i have tried add ca keys in jre keystor java keytool ... looks i'm missing here...any hints?

i have settings in mail-service.xml:

    <property name="mail.store.protocol" value="pop3"/>     <property name="mail.transport.protocol" value="smtp"/>      <!-- change user receive mail  -->     <property name="mail.user" value="********"/>      <!-- change mail server  -->     <property name="mail.pop3.host" value="**************"/>      <!-- change smtp gateway server -->     <property name="mail.smtp.host" value="************"/>      <!-- mail server port -->     <property name="mail.smtp.port" value="587"/>      <property name="mail.smtp.auth" value="true"/>      <property name="mail.smtp.starttls.enable" value="true" />      <!-- change address mail  -->     <property name="mail.from" value="**********"/>      <!-- enable debugging output javamail classes -->     <property name="mail.debug" value="true"/> 

and debug log:

2013-08-08 14:24:30,031  debug: javamail version 1.4ea 2013-08-08 14:24:30,031  debug: java.io.filenotfoundexception: /usr/java/jdk1.6.0_35/jre/lib/javamail.providers (no such file or directory) 2013-08-08 14:24:30,033  debug: url vfszip:/usr/share/jboss-5.1.0.ga/server/default/deploy/4pm_services-ear.ear/jboss-seam.jar/meta-inf/javamail.providers 2013-08-08 14:24:30,034  debug: bad provider entry: 2013-08-08 14:24:30,034  debug: loaded resource: vfszip:/usr/share/jboss-5.1.0.ga/server/default/deploy/4pm_services-ear.ear/jboss-seam.jar/meta-inf/javamail.providers 2013-08-08 14:24:30,034  debug: loaded resource: /meta-inf/javamail.default.providers 2013-08-08 14:24:30,034  debug: tables of loaded providers 2013-08-08 14:24:30,034  debug: providers listed class name: {com.sun.mail.smtp.smtpssltransport=javax.mail.provider[transport,smtps,com.sun.mail.smtp.smtpssltransport,sun microsystems, inc], com.sun.mail.smtp.smtptransport=javax.mail.provider[transport,smtp,com.sun.mail.smtp.smtptransport,sun microsystems, inc], com.sun.mail.imap.imapsslstore=javax.mail.provider[store,imaps,com.sun.mail.imap.imapsslstore,sun microsystems, inc], org.jboss.seam.mock.mocktransport=javax.mail.provider[transport,mock,org.jboss.seam.mock.mocktransport,jboss seam integration tests], com.sun.mail.pop3.pop3sslstore=javax.mail.provider[store,pop3s,com.sun.mail.pop3.pop3sslstore,sun microsystems, inc], com.sun.mail.imap.imapstore=javax.mail.provider[store,imap,com.sun.mail.imap.imapstore,sun microsystems, inc], com.sun.mail.pop3.pop3store=javax.mail.provider[store,pop3,com.sun.mail.pop3.pop3store,sun microsystems, inc]} 2013-08-08 14:24:30,034  debug: providers listed protocol: {imaps=javax.mail.provider[store,imaps,com.sun.mail.imap.imapsslstore,sun microsystems, inc], imap=javax.mail.provider[store,imap,com.sun.mail.imap.imapstore,sun microsystems, inc], mock=javax.mail.provider[transport,mock,org.jboss.seam.mock.mocktransport,jboss seam integration tests], smtps=javax.mail.provider[transport,smtps,com.sun.mail.smtp.smtpssltransport,sun microsystems, inc], pop3=javax.mail.provider[store,pop3,com.sun.mail.pop3.pop3store,sun microsystems, inc], pop3s=javax.mail.provider[store,pop3s,com.sun.mail.pop3.pop3sslstore,sun microsystems, inc], smtp=javax.mail.provider[transport,smtp,com.sun.mail.smtp.smtptransport,sun microsystems, inc]} 2013-08-08 14:24:30,035  debug: loaded resource: /meta-inf/javamail.default.address.map 2013-08-08 14:24:30,036  debug: !anyloaded 2013-08-08 14:24:30,036  debug: not loading resource: /meta-inf/javamail.address.map 2013-08-08 14:24:30,036  debug: java.io.filenotfoundexception: /usr/java/jdk1.6.0_35/jre/lib/javamail.address.map (no such file or directory) 2013-08-08 14:24:30,036  debug: getprovider() returning javax.mail.provider[transport,smtp,com.sun.mail.smtp.smtptransport,sun microsystems, inc] 2013-08-08 14:24:30,036  debug smtp: useehlo true, useauth true 2013-08-08 14:24:30,036  debug smtp: useehlo true, useauth true 2013-08-08 14:24:30,036  debug smtp: trying connect host "**************", port 587, isssl false 2013-08-08 14:24:30,038  220 ************** microsoft esmtp mail service ready @ thu, 8 aug 2013 14:24:29 +0200 2013-08-08 14:24:30,038  debug smtp: connected host "**************", port: 587 2013-08-08 14:24:30,039  ehlo ************** 2013-08-08 14:24:30,040  250-************** hello [**************] 250-size 10485760 250-pipelining 250-dsn 250-enhancedstatuscodes 250-starttls 250-auth gssapi ntlm 250-8bitmime 250-binarymime 250 chunking 2013-08-08 14:24:30,040  debug smtp: found extension "size", arg "10485760" 2013-08-08 14:24:30,040  debug smtp: found extension "pipelining", arg "" 2013-08-08 14:24:30,040  debug smtp: found extension "dsn", arg "" 2013-08-08 14:24:30,040  debug smtp: found extension "enhancedstatuscodes", arg "" 2013-08-08 14:24:30,040  debug smtp: found extension "starttls", arg "" 2013-08-08 14:24:30,040  debug smtp: found extension "auth", arg "gssapi ntlm" 2013-08-08 14:24:30,040  debug smtp: found extension "8bitmime", arg "" 2013-08-08 14:24:30,040  debug smtp: found extension "binarymime", arg "" 2013-08-08 14:24:30,040  debug smtp: found extension "chunking", arg "" 2013-08-08 14:24:30,040  starttls 2013-08-08 14:24:30,041  220 2.0.0 smtp server ready 2013-08-08 14:24:30,041  ehlo ************** 2013-08-08 14:24:30,048 error [si.arctur.fourpmservices.schedulejobs.emailsender.mailsender] (4pm_services_quartzscheduler_worker-3) error in transport email[1040] javax.mail.messagingexception: can't send command smtp host; nested exception is:     javax.net.ssl.sslhandshakeexception: sun.security.validator.validatorexception: pkix    path building failed: sun.security.provider.certpath.suncertpathbuilderexception: unable   find valid certification path requested target     @ com.sun.mail.smtp.smtptransport.sendcommand(smtptransport.java:1420)     @ com.sun.mail.smtp.smtptransport.sendcommand(smtptransport.java:1408)     @ com.sun.mail.smtp.smtptransport.ehlo(smtptransport.java:847)     @ com.sun.mail.smtp.smtptransport.protocolconnect(smtptransport.java:384)     @ javax.mail.service.connect(service.java:297)     @ javax.mail.service.connect(service.java:156)     @ javax.mail.service.connect(service.java:105)     @ javax.mail.transport.send0(transport.java:168)     @ javax.mail.transport.send(transport.java:98)     @   si.arctur.fourpmservices.schedulejobs.emailsender.mailsender.actualsend(mailsender.java:64)     @ sun.reflect.nativemethodaccessorimpl.invoke0(native method)     @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:39)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:25)     @ java.lang.reflect.method.invoke(method.java:597)     @ org.jboss.seam.util.reflections.invoke(reflections.java:22)     @ org.jboss.seam.intercept.rootinvocationcontext.proceed(rootinvocationcontext.java:32)     @ org.jboss.seam.intercept.seaminvocationcontext.proceed(seaminvocationcontext.java:56)     @ org.jboss.seam.transaction.rollbackinterceptor.aroundinvoke(rollbackinterceptor.java:28)     @ org.jboss.seam.intercept.seaminvocationcontext.proceed(seaminvocationcontext.java:68)     @ org.jboss.seam.core.bijectioninterceptor.aroundinvoke(bijectioninterceptor.java:77)     @ org.jboss.seam.intercept.seaminvocationcontext.proceed(seaminvocationcontext.java:68)     @ org.jboss.seam.transaction.transactioninterceptor$1.work(transactioninterceptor.java:97)     @ org.jboss.seam.util.work.workintransaction(work.java:61)     @ org.jboss.seam.transaction.transactioninterceptor.aroundinvoke(transactioninterceptor.java:91)     @ org.jboss.seam.intercept.seaminvocationcontext.proceed(seaminvocationcontext.java:68)     @ org.jboss.seam.core.methodcontextinterceptor.aroundinvoke(methodcontextinterceptor.java:44)     @ org.jboss.seam.intercept.seaminvocationcontext.proceed(seaminvocationcontext.java:68)     @ org.jboss.seam.intercept.rootinterceptor.invoke(rootinterceptor.java:107)     @ org.jboss.seam.intercept.javabeaninterceptor.interceptinvocation(javabeaninterceptor.java:185)     @ org.jboss.seam.intercept.javabeaninterceptor.invoke(javabeaninterceptor.java:103)     @ si.arctur.fourpmservices.schedulejobs.emailsender.mailsender_$$_javassist_seam_8.actualsend(mailsender_$$_javassist_seam_8.java)     @ si.arctur.fourpmservices.schedulejobs.emailsender.mailchecker.checkqueue(mailchecker.java:41)     @ si.arctur.fourpmservices.schedulejobs.emailsender.mailchecker.execute(mailchecker.java:22)     @ si.arctur.fourpmservices.schedulejobs.quartzjobbase.executeinternal(quartzjobbase.java:94)     @ si.arctur.fourpmservices.schedulejobs.quartzjobbase.schedule(quartzjobbase.java:76)     @ sun.reflect.generatedmethodaccessor383.invoke(unknown source)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:25)     @ java.lang.reflect.method.invoke(method.java:597)     @ org.jboss.seam.util.reflections.invoke(reflections.java:22)     @ org.jboss.seam.intercept.rootinvocationcontext.proceed(rootinvocationcontext.java:32)     @ org.jboss.seam.intercept.seaminvocationcontext.proceed(seaminvocationcontext.java:56)     @ org.jboss.seam.transaction.rollbackinterceptor.aroundinvoke(rollbackinterceptor.java:28)     @ org.jboss.seam.intercept.seaminvocationcontext.proceed(seaminvocationcontext.java:68)     @ org.jboss.seam.core.bijectioninterceptor.aroundinvoke(bijectioninterceptor.java:77)     @ org.jboss.seam.intercept.seaminvocationcontext.proceed(seaminvocationcontext.java:68)     @ org.jboss.seam.core.methodcontextinterceptor.aroundinvoke(methodcontextinterceptor.java:44)     @ org.jboss.seam.intercept.seaminvocationcontext.proceed(seaminvocationcontext.java:68)     @ org.jboss.seam.async.asynchronousinterceptor.aroundinvoke(asynchronousinterceptor.java:52)     @ org.jboss.seam.intercept.seaminvocationcontext.proceed(seaminvocationcontext.java:68)     @ org.jboss.seam.intercept.rootinterceptor.invoke(rootinterceptor.java:107)     @ org.jboss.seam.intercept.javabeaninterceptor.interceptinvocation(javabeaninterceptor.java:185)     @ org.jboss.seam.intercept.javabeaninterceptor.invoke(javabeaninterceptor.java:103)     @ si.arctur.fourpmservices.schedulejobs.emailsender.mailchecker_$$_javassist_seam_2.schedule(mailchecker_$$_javassist_seam_2.java)     @ sun.reflect.generatedmethodaccessor382.invoke(unknown source)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:25)     @ java.lang.reflect.method.invoke(method.java:597)     @ org.jboss.seam.util.reflections.invoke(reflections.java:22)     @ org.jboss.seam.util.reflections.invokeandwrap(reflections.java:144)     @ org.jboss.seam.async.asynchronousinvocation$1.process(asynchronousinvocation.java:62)     @ org.jboss.seam.async.asynchronous$contextualasynchronousrequest.run(asynchronous.java:80)     @ org.jboss.seam.async.asynchronousinvocation.execute(asynchronousinvocation.java:44)     @ org.jboss.seam.async.quartzdispatcher$quartzjob.execute(quartzdispatcher.java:243)     @ org.quartz.core.jobrunshell.run(jobrunshell.java:202)     @ org.quartz.simpl.simplethreadpool$workerthread.run(simplethreadpool.java:529) caused by: javax.net.ssl.sslhandshakeexception: sun.security.validator.validatorexception: pkix path building failed: sun.security.provider.certpath.suncertpathbuilderexception: unable find valid certification path requested target     @ com.sun.net.ssl.internal.ssl.alerts.getsslexception(alerts.java:174)     @ com.sun.net.ssl.internal.ssl.sslsocketimpl.fatal(sslsocketimpl.java:1764)     @ com.sun.net.ssl.internal.ssl.handshaker.fatalse(handshaker.java:241)     @ com.sun.net.ssl.internal.ssl.handshaker.fatalse(handshaker.java:235)     @ com.sun.net.ssl.internal.ssl.clienthandshaker.servercertificate(clienthandshaker.java:1206)     @ com.sun.net.ssl.internal.ssl.clienthandshaker.processmessage(clienthandshaker.java:136)     @ com.sun.net.ssl.internal.ssl.handshaker.processloop(handshaker.java:593)     @ com.sun.net.ssl.internal.ssl.handshaker.process_record(handshaker.java:529)     @ com.sun.net.ssl.internal.ssl.sslsocketimpl.readrecord(sslsocketimpl.java:958)     @ com.sun.net.ssl.internal.ssl.sslsocketimpl.performinitialhandshake(sslsocketimpl.java:1203)     @ com.sun.net.ssl.internal.ssl.sslsocketimpl.writerecord(sslsocketimpl.java:654)     @ com.sun.net.ssl.internal.ssl.appoutputstream.write(appoutputstream.java:100)     @ com.sun.mail.util.traceoutputstream.write(traceoutputstream.java:101)     @ java.io.bufferedoutputstream.flushbuffer(bufferedoutputstream.java:65)     @ java.io.bufferedoutputstream.flush(bufferedoutputstream.java:123)     @ com.sun.mail.smtp.smtptransport.sendcommand(smtptransport.java:1418)     ... 63 more caused by: sun.security.validator.validatorexception: pkix path building failed: sun.security.provider.certpath.suncertpathbuilderexception: unable find valid certification path requested target     @ sun.security.validator.pkixvalidator.dobuild(pkixvalidator.java:323)     @ sun.security.validator.pkixvalidator.enginevalidate(pkixvalidator.java:217)     @ sun.security.validator.validator.validate(validator.java:218)     @ com.sun.net.ssl.internal.ssl.x509trustmanagerimpl.validate(x509trustmanagerimpl.java:126)     @ com.sun.net.ssl.internal.ssl.x509trustmanagerimpl.checkservertrusted(x509trustmanagerimpl.java:209)     @ com.sun.net.ssl.internal.ssl.x509trustmanagerimpl.checkservertrusted(x509trustmanagerimpl.java:249)     @ com.sun.net.ssl.internal.ssl.clienthandshaker.servercertificate(clienthandshaker.java:1185)     ... 74 more caused by: sun.security.provider.certpath.suncertpathbuilderexception: unable find valid certification path requested target     @ sun.security.provider.certpath.suncertpathbuilder.enginebuild(suncertpathbuilder.java:174)     @ java.security.cert.certpathbuilder.build(certpathbuilder.java:238)     @ sun.security.validator.pkixvalidator.dobuild(pkixvalidator.java:318)     ... 80 more 

i had enter in keystore certificate of mail server, got certificate via

openssl s_client -connect mail.server.com:587 -starttls smtp  

and extracted key response , added in jre keytore


Comments

Popular posts from this blog

matlab - Deleting rows with specific rules -

php - MySQLi multi_query results for later use -