微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在没有Web服务器的情况下,将SSL用于通过TCP / IP套接字的客户端/服务器通信

如何解决在没有Web服务器的情况下,将SSL用于通过TCP / IP套接字的客户端/服务器通信

|| 我有一个服务器应用程序,使用SslStream类在其上使用TCP侦听器机制和SSL,非常类似于此线程中描述的内容:Tcpip侦听器套接字SSL流非常混乱 但是,我们的客户是所有操作系统(iOS,Android等)的移动设备。我有一个服务器端证书,但是我真正希望从我的客户端获得的身份验证只是通过基本身份验证协议提供的用户/密码字符串对。 如果来自客户端的初始连接为我提供了这些凭据,那么一切都很好-我解析了请求,提取了它们并进行了检查。但是,如果未提供它们-我该如何要求它们?     

解决方法

        HTTP状态代码401和
WWW-Authenticate: Basic
标头用于提示HTTP客户端发送用户名/密码字符串,如本例所示 客户端请求(无身份验证):
GET /private/index.html HTTP/1.11
Host: localhost
服务器响应:
HTTP/1.1 401 Authorization Required
Server: HTTPd/1.0
Date: Sat,27 Nov 2004 10:18:15 GMT
WWW-Authenticate: Basic realm=\"Secure Area\"
Content-Type: text/html
Content-Length: 311

<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"
 \"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd\">
<HTML>
  <HEAD>
    <TITLE>Error</TITLE>
    <META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=ISO-8859-1\">
  </HEAD>
  <BODY><H1>401 Unauthorized.</H1></BODY>
</HTML>
客户端请求(用户名\“ Aladdin \”,密码\“ open sesame \”):
GET /private/index.html HTTP/1.1
Host: localhost
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。