Smtp 使用javamail的kerberos身份验证

Smtp 使用javamail的kerberos身份验证,smtp,jakarta-mail,kerberos,Smtp,Jakarta Mail,Kerberos,我需要在Widows Exchange服务器和javamail API之间配置kerberos身份验证。我已经完成了休耕设置。但是我变得越来越错误,就像: Exception in thread "main" GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt) at sun.security.jgss.krb5.Krb5InitCredential.g

我需要在Widows Exchange服务器和javamail API之间配置kerberos身份验证。我已经完成了休耕设置。但是我变得越来越错误,就像:

Exception in thread "main" GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)
    at sun.security.jgss.krb5.Krb5InitCredential.getInstance(Krb5InitCredential.java:147)
    at sun.security.jgss.krb5.Krb5MechFactory.getCredentialElement(Krb5MechFactory.java:121)
    at sun.security.jgss.GSSManagerImpl.getCredentialElement(GSSManagerImpl.java:192)
    at sun.security.jgss.GSSCredentialImpl.add(GSSCredentialImpl.java:406)
    at sun.security.jgss.GSSCredentialImpl.<init>(GSSCredentialImpl.java:60)
    at sun.security.jgss.GSSManagerImpl.createCredential(GSSManagerImpl.java:153)
线程“main”GSSException中的异常:未提供有效凭据(机制级别:找不到任何Kerberos tgt)
位于sun.security.jgss.krb5.Krb5InitCredential.getInstance(Krb5InitCredential.java:147)
位于sun.security.jgss.krb5.Krb5MechFactory.getCredentialElement(Krb5MechFactory.java:121)
位于sun.security.jgss.GSSManagerImpl.getCredentialElement(GSSManagerImpl.java:192)
位于sun.security.jgss.GSSCredentialImpl.add(GSSCredentialImpl.java:406)
位于sun.security.jgss.GSSCredentialImpl。(GSSCredentialImpl.java:60)
位于sun.security.jgss.GSSManagerImpl.createCredential(GSSManagerImpl.java:153)

有谁能帮我从javamail api中找到kerberos tgt吗?

我从未尝试过从javamail中使用kerberos,但我认为您必须启用SASL支持,然后才能使用支持kerberos的GSSAPI身份验证机制。你都做了吗?之后,问题是GSSAPI身份验证机制如何找到Kerberos TGT。可能会有帮助。谢谢你的回复。我启用了GSSAPI。现在我的疑问是,我是否必须在命令提示符下运行kinit工具,并从jaas.conf或Javamail生成票据并传递它,每次运行kinit工具都由内部负责。我两个都试过了,还是没用