NetTcpBinding(读取 WindowsStreamSecurityBindingElement)如何加密/签名消息?

2024-01-02

我想了解当“Windows”凭据与传输安全性一起使用时 NetTcpBinding 使用的消息加密和签名机制。如果我的 AD 使用 NTLM 而不是 Kerberos 怎么办?消息仍然会被签名和加密吗?如果是,如何签名和加密?

提前致谢,

Akshat


简短的回答是,是的,如果您将传输安全保护级别设置为 EncryptAndSign(默认值),则使用 NTLM 身份验证,消息仍将被签名和加密。

以下是其工作原理的概述:

  • 选择运输安全 配置一个 WindowsStreamSecurityBindingElement 在通道堆栈中。这会插入一个 流升级提供商(见下文)
  • 在 NetTcpBinding 中,消息 客户与客户之间的交换 服务发生在.NET消息 成帧协议 http://msdn.microsoft.com/en-us/library/cc219293(v=PROT.10).aspx,它同时提供了 消息框架和机制 客户和服务商进行谈判 流升级,主要用途 也就是建立运输 安全。如果有一条流 升级提供程序中配置的 通道堆栈,这将被调用 在序言阶段 客户端时的成帧协议 打开通道。
  • 升级 提供者 WindowsStreamSecurityBindingElement 使用 SPNEGO 安全包在客户端和服务器之间调用 SSPI 握手:在 NetTcpBinding 中,这通常会导致选择 Kerberos 作为底层安全提供程序(如果可用),但如果不可用,则会选择 NTLM。
  • 如果 NTLM 是最终的身份验证提供程序,则 SSPI 握手将涉及令牌的三腿 NTLM 质询-响应交换,如NTLM规范 http://msdn.microsoft.com/en-us/library/cc236621(v=PROT.10).aspx。该协议包括交换消息签名和加密密钥的机制。一旦 SSPI 握手生成了适当的安全上下文,所有交换的消息都会在发送通道堆栈的流升级提供程序中进行签名和加密,并在接收通道堆栈的流升级提供程序中进行解密和验证,在每种情况下都通过调用 NTLM通过抽象的安全提供者SSPI消息支持函数 http://msdn.microsoft.com/en-us/library/aa374731(v=VS.85).aspx#message_support.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NetTcpBinding(读取 WindowsStreamSecurityBindingElement)如何加密/签名消息? 的相关文章

随机推荐

  • Java - 使用河豚加密时丢失最终字符

    我正在使用一些 java 代码 使用 Blowfish 加密文本文件的内容 当我将加密文件转换回来 即解密 时 字符串末尾缺少一个字符 有什么想法吗 我对 Java 很陌生 已经摆弄了几个小时但没有运气 文件 war and peace t
  • 扩展 JFrame 总是一个坏主意吗? [复制]

    这个问题在这里已经有答案了 开发 Java Swing GUI 时 扩展 JFrame 总是一个坏主意吗 那么 JPanel 或其他 JComponent 又如何呢 另外 是什么让它变得不好呢 通常 如果您需要自定义 Swing 组件 则仅
  • Flask-mongoengine 中的聚合

    我只是盯着 MongoDB 我正在盯着一个带有 Flask mongoengine 的应用程序 我想聚合一些文档 我正在使用 Flask mongoengine 并在尝试时 class MyDocumentModel db Document
  • GKE Ingress 显示后端服务不健康

    我有一个 GKE 集群 实例组中有 4 个节点 我部署了 Ingress 和几个 Pod 每个 Pod 仅 1 个副本 因此它们仅位于 1 个节点上 我在 Google 控制台 Ingress 详细信息页面 上注意到 尽管正在运行的 pod
  • 如何让 jQuery 自动完成在字段焦点上弹出? [复制]

    这个问题在这里已经有答案了 可能的重复 jQuery 自动完成 UI 我希望它能够在焦点上开始搜索 而无需用户输入任何内容 https stackoverflow com questions 4479598 jquery autocompl
  • 计数陷阱

    考虑计算结构不同的数量的问题二叉搜索树 http en wikipedia org wiki Binary search tree 给定 N 找到包含值 1 N 的结构不同的二叉搜索树的数量 给出一个解决这个问题的算法非常容易 修复根中每个
  • 如何按键对 ng-options 中的数组进行排序?

    有这样一个数组 month Array 13 0 M 1 January 2 February 3 March 4 April 5 May 6 June 7 July 8 August 9 September 10 October 11 N
  • 如何在Cakephp 3.0中读写Session

    我是蛋糕3 0的新手 我已阅读有关的文档http book cakephp org 3 0 en development sessions html http book cakephp org 3 0 en development sess
  • 了解批处理文件中的 start、2>nul、cmd 和其他符号

    从这个话题跟进on here https stackoverflow com a 19596432 2896127 我试图从建议的答案中了解 幕后 发生的事情 我不明白 2 gt nul 或 1 gt nul 应该做什么 我试图破译开始 b
  • MongoDB:聚合框架:字段之间的$match

    我有一个包含两个文档的测试集合 gt db test find pretty id ObjectId 510114b46c1a3a0f6e5dd7aa a 1 b 2 id ObjectId 510114c86c1a3a0f6e5dd7ab
  • 在 Django 1.9 中保存时将用户添加到组

    你好 我使用的是 Django 1 9 尝试在创建或保存时将用户添加到组中 使用 user groups 或 groups user set add 不起作用 请与下面的保存前和保存后混合搭配 这些答案对我不起作用 所以这不是一个骗局 在
  • ngFor youtube 链接与 Angular2 中的 Domsanitizer

    我的模拟内存数据库中有 youtube 链接 我想 ngFor 这些来自 youtube 的视频 let videos any videoURL ZOd5LI4 PcM videoURL d6xQTf8M51A videoURL BIfvI
  • Spring.Net IoC 和魔术字符串

    我一直在考虑 IApplicationContext GetObject string name 方法 它似乎相当依赖魔术字符串从应用程序上下文中获取对象 与其他容器一样结构图 http structuremap sourceforge n
  • React Native 在 Swift 中将事件发送到 JavaScript

    如何在 Swift 中将事件发送到 JavaScript 有 Objc 代码示例如何将事件发送到 JavaScript 但我需要快速执行 import RCTBridge h import RCTEventDispatcher h impl
  • 气流复制日志

    我正在使用 Airflow 1 10 4 当我在自定义模块中使用日志记录时遇到问题 我的代码是这样的 import logging log logging getLogger name log info hello there 输出如下 2
  • 有没有办法将长时间运行(例如压力测试)分开,这样它们就不会在 Maven 2 中默认运行?

    我们这里有一个持续的需求 我不知道如何使用现有的 Maven 2 工具和文档来解决 我们的一些开发人员有一些运行时间很长的 JUnit 测试 通常是压力测试 在任何情况下都不应该将其作为构建过程 夜间构建的常规部分运行 当然 我们可以使用
  • android EditText 如何作为自动完成功能工作

    我想要我的EditText应该作为AutoComplete 为此我在 XML 文件中写入 android inputType textAutoComplete textAutoCorrect 但它不起作用 我正在使用 API v2 2 并且
  • 使用 Javascript 检测页面加载时鼠标是否位于元素上方

    我有一个图像 我想在鼠标悬停时触发某些行为 我有一个 mouseover 和 mouseout 方法 但是如果您在页面加载时碰巧将鼠标悬停在图像上 则 mouseover 方法永远不会触发 直到您离开图像并返回它 有没有一种方法可以检测鼠标
  • 我如何对不同数量的输入字段进行 JavaScript 数学运算?

    我正在构建一个 WordPress 插件 用于处理发票等事务 这个想法是 当我创建新发票时 插件将自动生成一行 其中包含当前可用的每种产品的默认值 存储在其他地方 并且并不总是相同 问题是我希望能够只输入数量并让插件为我完成所有数学计算 将
  • NetTcpBinding(读取 WindowsStreamSecurityBindingElement)如何加密/签名消息?

    我想了解当 Windows 凭据与传输安全性一起使用时 NetTcpBinding 使用的消息加密和签名机制 如果我的 AD 使用 NTLM 而不是 Kerberos 怎么办 消息仍然会被签名和加密吗 如果是 如何签名和加密 提前致谢 Ak