【发布时间】:2018-03-23 09:57:02
【问题描述】:
我正在尝试签署要发送到 AWS 的请求,但没有成功。在网上浏览了几个小时后,我找不到可以工作的代码。
我想在 C# 中预签名 IoT url。我在 Node 中发现了非常简单的代码:
'use strict';
const v4 = require('aws-signature-v4');
const crypto = require('crypto');
exports.handler = (event, context, callback) => {
const url = v4.createPresignedURL(
'GET',
process.env.IOT_ENDPOINT_HOST.toLowerCase(),
'/mqtt',
'iotdevicegateway',
crypto.createHash('sha256').update('', 'utf8').digest('hex'),
{
'key': process.env.IOT_ACCESS_KEY,
'secret': process.env.IOT_SECRET_KEY,
'protocol': 'wss',
'region': process.env.IOT_AWS_REGION,
}
);
const response = {
statusCode: 200,
body: JSON.stringify({ url: url }),
};
callback(null, response);
}
这将如何在 C# 中完成?我在 SDK 上找不到它。我找到的是这个方法:https://github.com/aws/aws-sdk-net/blob/master/sdk/src/Core/Amazon.Runtime/Internal/Auth/AWS4Signer.cs
但它说它仅供内部使用,不应使用。
关于如何实现它的任何指导?
谢谢
【问题讨论】:
标签: c# amazon-web-services aws-sdk