APACHE NIFI invokeHTTP得到令牌的问题
我得到了一个安全集群NIFI有3个节点,与truststore.jks配置和keystore.jksAPACHE NIFI invokeHTTP得到令牌的问题
在我invokeHTTP,我给自己定“StandardSSLContextService”与密钥存储和trustore为HTTPS 。
invokeHTTP当我试图 “https://auth_server/oauth/access_token”
所以,当我试图使用invokeHTTP到工程时,我试图https://nifi:9443/nifi-api/controller/config
- 但不工作获取令牌但它失败,出现此错误:
每一个拥有可信实体的公开密钥和证书信息 -sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
感谢帮助
的StandardSSLContextService
可以用信任,这是一个Java KeyStore
对象包含TrustedCertEntry
对象的集合进行配置。当Apache NiFi尝试通过HTTPS联系其他终端或服务时,它会评估接收到的标识服务的证书并尝试验证该证书。如果端点证书没有直接包含在信任库中,它会检查哪个证书签署了叶证书并验证该证书。该过程继续沿着证书链继续,直到找到一个可信的证书或者没有证书。
您收到的错误消息是说明链中的证书都不能被验证。正如daggett指出的那样,您可以手动将要验证的服务的证书导入到自定义信任库中。如果这是公共互联网上提供的服务并且由一般可信的证书颁发机构(CA)签署,则还可以将您的StandardSSLContextService
指向Java提供的默认列表。 cacerts
信任库被自动包含,并且具有与现代浏览器相似的可信条目列表。它位于$JAVA_HOME/jre/lib/security/cacerts
。您可以为您的操作系统和Java版本确定$JAVA_HOME
的值。
-
信任库文件名:
/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/jre/lib/security/cacerts
(例如) -
信任库口令:
changeit
(默认值) -
信任库类型:
JKS
只需添加到您的truststore.jks的来自服务器“https:// auth_server”的公共证书。您可以使用浏览器导出公共证书链。并使用keytool导入到jks(java jdk) – daggett