WCF、安全性和证书

2024-01-06

我有一个客户端/服务器 WCF 应用程序,需要针对数据库进行某种用户身份验证。该应用程序(客户端和服务器一起)正在开发中,将出售给数十个客户,以便在他们的内部网上使用。我们不太担心对通过网络传输的大部分数据进行加密,当然在身份验证期间除外。

考虑 WCF 安全性时,我不断回想起我们应该使用 x509 证书的想法。然而,我们的客户肯定不想了解申请、购买和安装这些证书的任何细节。

我首先想知道在这种情况下实现用户名/密码身份验证的首选方法是什么。如果需要使用证书,客户是否必须向受信任的 CA 申请自己的证书,还是我们作为软件提供商可以生成证书供客户使用?

事实上,我正在寻找一种最佳实践,对客户的摩擦最小。

Thanks!

Edit:我正在使用 NetTcpBinding,并且我的服务器作为 Windows 服务运行。


因此,用户名/密码不需要客户端证书,因为我确信您知道,它只需要托管 WCF 服务的服务器上的 HTTPS 证书 - 一旦您拥有了该证书,您就可以愉快地使用标准用户名/密码身份验证位(WCF如果没有 HTTPS,则不允许基于消息的身份验证)。

如果您想获取客户端证书根,您将获得不可否认的优势 - 您可以确定发送的机器就是它所说的(除非有人窃取了证书,这比用户名和密码的可能性要小)组合走动)。作为软件提供商,您可以充当自己的证书颁发机构并生成自己的客户端证书(根据您的基础设施,有几种方法可以做到这一点),但您需要将客户端配置为信任您的根 CA。

如果服务器和客户端运行在域环境中,您可以使用通过 Windows 身份验证传输安全 http://msdn.microsoft.com/en-us/library/ms733089.aspx(您使用的是 tcp 绑定,因此无论如何都无法实现互操作性!)这样做的额外好处是身份验证是透明的,并且您在任何地方都不需要任何证书。如果您想验证服务器身份,那么通过 Windows 身份验证实现消息安全 http://msdn.microsoft.com/en-us/library/ms729709.aspx会成功的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WCF、安全性和证书 的相关文章

  • C# 证书生成框架

    有谁知道可以生成公钥 私钥 X 509 证书并签署这些证书的 C 框架 BouncyCastleCrypto 虽然这个名字很疯狂 但我很确定它具有所有这些功能 几乎所有 RFC 标准均已实施 当我几年前使用它时 它的文档记录很少 但是单元测
  • Apache 反向代理的基本身份验证问题

    我想为在 Ubuntu 服务器 12 04 1 上运行的 Apache 反向代理站点添加基本身份验证 网络应用程序是Jenkins http jenkins ci org运行在 Java EE 容器上 我在中添加了以下配置httpd con
  • Grails + Spring Security:无法登录

    我刚刚开始学习Grails和Spring 我已经按照官方教程创建了一个登录系统 但我无法登录 用户名或密码不匹配 我知道 90 的情况下这是由于双重编码或多个数据源 这也导致双重编码 造成的 但我也没有这样做 class BootStrap
  • AADSTS50011:请求中指定的回复 URL 与为应用程序配置的回复 URL 不匹配:'*****-*****-*****-*****-**** ******'

    我正在尝试使用 Django Microsoft 身份验证后端 允许 o365 登录我的 Django 项目 https django microsoft auth readthedocs io en latest https django
  • WCF 服务中的“即发即忘”

    我在 Azure 上有很多 WCF REST 服务 在某些 WCF 服务中 我向外部服务调用 Http 请求 例如发送电子邮件 短信 对非关键第三方服务的 http 请求 我不希望这阻碍我对客户电话的响应 需要一些关于在这种情况下使用的模式
  • 使用 ELMAH 记录 WCF 服务的异常

    我们正在使用优秀的ELMAH http code google com p elmah处理 ASP NET 3 5 Web 应用程序中未处理的异常 这对于除使用 REST 功能使用的 WCF 服务之外的所有站点都非常有效 当操作方法中发生应
  • 浏览器关闭时 Omniauth 会话过期

    在我的 Rails 3 应用程序中 我使用 Omniauth 进行用户身份验证部分 fb twitter 实际上我遵循这个 https github com RailsApps rails3 mongoid omniauth https g
  • 信任库是否需要子 ca 证书?

    我正在尝试设置分层 PKI 我是否可以创建仅包含根 ca 证书的信任库 这是否意味着我的应用程序信任由子 ca 证书签名的证书 而子 ca 证书又由根 ca 签名 顺便说一句 您似乎必须提供整个证书链 包括根 ca 证书 当然 如果根 ca
  • 为什么我在尝试制作 .cer 进行测试时总是失败?

    我正在尝试制作用于测试的证书 并且我正在使用此网站如何 创建您自己的测试证书 http msdn microsoft com en us library ff699202 aspx作为有关如何操作的教程 但是当您创建密码后输入密码时 它在命
  • 自托管 WCF REST 服务和基本身份验证

    我创建了一个自托管的 WCF REST 服务 带有 WCF REST Starter Kit Preview 2 中的一些额外内容 这一切工作正常 我现在正在尝试向服务添加基本身份验证 但我在 WCF 堆栈中遇到了一些相当大的障碍 这阻止了
  • 在 iOS 上使用 Web 服务的最佳方式?

    我想构建一个 iOS 应用程序 让您登录到网络服务 之后 应用程序将 当用户选择时 通过 https 发送登录名 密码以及请求的变量 例如 在请求 新闻更新 后 它将收到 XML 格式的请求信息 类似于
  • 通过代理服务器连接到 WCF 服务时出现奇怪的异常

    例外 相对 URI 不支持此操作 发生在以下情况 我有一个 WCF 服务 ServiceContract ProtectionLevel ProtectionLevel None public interface IMyService Op
  • 如何绕过Keycloak登录表单直接跳转到IDP登录?

    我正在运行saml 经纪人身份验证 https github com keycloak keycloak tree 3 2 1 Final examples broker saml broker authentication例子 我在 UI
  • 如何在spring-security的SecurityContext中存储自定义信息?

    在我的应用程序中 我使用 LDAP 身份验证 但我还有 2 个远程服务 需要通过登录方法 用户名 密码 进行身份验证 该方法返回安全令牌 这使我能够调用其他方法 即我应该将安全令牌作为第一个参数传递给服务方法 所以我想在使用 LDAP 成功
  • Cakedc.users => 总是重定向到主页

    我在新的 Cakephp 安装上使用插件 CakeDC Users 我有两个控制器 PagesController php CardsController php Pages 有 1 个操作 Beta 它是主页 Cards 有两个操作 索引
  • 无法通过 Git Bash 克隆 git 存储库

    在尝试使用克隆存储库时git clone 它显示以下错误 致命 无法访问 https github com microsoft c9 python getting started git https github com microsoft
  • 使用 C# 登录《我的世界》

    我正在尝试为自己和一些朋友创建一个简单的自定义 Minecraft 启动器 我不需要启动 Minecraft 的代码 只需要登录的实际代码行 例如 据我所知 您过去可以使用 string netResponse httpGET https
  • 通过移动应用程序使用 Moodle 进行身份验证

    我的移动应用程序需要登录 Moodle 以从 Web 服务获取 Json 数据并使用 Angular 显示它 为此 我需要传入用户名和密码并取回 Moodle Web 服务令牌 因此我的应用程序不需要再次登录 至少在令牌过期之前 这是 提出
  • 使用 XML 的 WCF 请求验证

    我有一个WCF使用 Net 4 0框架的SOAP Web服务 我在用contract first方法 即 服务代码是使用 WCSF Blue 工具从手写 WSDL 生成的 我对请求消息有以下要求 如果价格小于 100 则不得有税项 但如果大
  • iPhone Developer' 与任何有效的、未过期的证书/私钥对不匹配 - 但我正在创建 iPad 应用程序 [重复]

    这个问题在这里已经有答案了 可能的重复 代码签名错误 身份 iPhone Developer 与默认钥匙串中的任何有效证书 私钥对不匹配 https stackoverflow com questions 2108503 code sign

随机推荐