首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >NiFi:配置SSLContext、信任库或密钥库认证

NiFi:配置SSLContext、信任库或密钥库认证
EN

Stack Overflow用户
提问于 2018-10-24 00:07:54
回答 1查看 3.1K关注 0票数 0

我正在尝试从DC Metro's API tool获取数据。我正在使用“列车位置”链接。

我需要配置我的SSLContextService,但我只有网站提供的主密钥和辅助密钥。例如,密钥的形式如下:

代码语言:javascript
复制
5bcf1f7d091f4f618f1eefbefe23a56e
f15633bd2dd44a1f944c96361c0ab26f

如何在NiFi的SSLContext部分进行配置?我正在使用GetHTTP。下面是我当前所拥有的配置,首先是GetHTTP配置,然后是SSL配置:

下一步配置:

我不知道如何使用上面的键作为TruststoreKeystore,或者这是否是我应该做的。我将我的Keystore文件名指向cacerts,但我知道这些密钥不在其中。我试着将它们转换成.pem,这是一个错误,特别是当我把它们放在keystore.jks中的时候。

我得到了这个错误:

如何获取访问权限?

有用的link on API link

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-24 00:40:39

请注意,您给出的API密钥就像密码一样被视为敏感信息。

这些密钥用于访问API,与用于NiFi协商的SSL密钥库/信任库无关。在这种情况下使用Java cacerts是正确的,但是您不需要将API密钥添加到信任库。

该页面描述了请求需要采用的形式:https://developer.wmata.com/docs/services/5763fa6ff91823096cac1057/operations/5763fb35f91823096cac1058#TrainPosition

我建议您阅读如何使用web API和发出web请求,然后了解如何使用您的API密钥。他们在底部给出了一个卷曲的例子:

代码语言:javascript
复制
curl -v -X GET "https://api.wmata.com/TrainPositions/TrainPositions?contentType={contentType}"
-H "api_key: {subscription key}"

--data-ascii "{body}" 

{subscription key}是您的接口密钥,{contentType}是HTTP响应内容类型。如果您不熟悉这些术语,您可能需要研究它们。我建议先让上面的curl命令起作用,然后再把它传递给NiFi。

"api.wmata.com/TrainPositions/TrainPositions?contentType=json“-v -X GET curl -H "api_key: e13626d03d8e4c03ac07f95541b3091b”适用于我。(这是来自wmata网站的测试API密钥)。

在InvokeHTTP中,您可以添加一个名为'api_key‘的处理器属性(点击右上角的加号),将值设置为您的订阅者键(我不知道这是否是主键),并将"Attributes to Send“属性值设置为"api_key”。这将发送api_key属性(键)作为一个名为api_key的头部,就像我们在上面的curl中使用-H "api_key: e136...“所做的那样。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52953501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档