PHP的 – 如何使用Kerberoscurl

我正在尝试使用curl进行一些操作,但是我必须使用的网站使用Kerberos身份validation。 因此,我必须启用默认禁用的curl的SPNEGOfunction。

这是我的phpinfo的摘录:

cURL support enabled cURL Information 7.19.7 Age 3 Features AsynchDNS No Debug No GSS-Negotiate Yes IDN Yes IPv6 Yes Largefile Yes NTLM Yes SPNEGO No SSL Yes SSPI No krb4 No libz Yes CharConv No Protocols tftp, ftp, telnet, dict, ldap, ldaps, http, file, https, ftps, scp, sftp Host x86_64-redhat-linux-gnu SSL Version NSS/3.13.1.0 ZLib Version 1.2.3 libSSH Version libssh2/1.2.2 

我怎样才能做到这一点?

首先获取curl的新版本,检查您的Kerberos版本。 所有最新的版本都支持SPNEGO,也就是说,一个小的补丁和curl可以和SPNEGO一起使用,而不需要额外的软件。

使事情工作:

  1. 下载并编译curl和libcurl
  2. 安装它,例如/ usr / local
  3. 先尝试卷曲
  4. 下载一个新版本的PHP并用–with-curl [= DIR]编译它,见1,2
  5. 安装它
  6. 请享用

这里有一些注意事项:

  1. 首先,卷曲需要按照前面所描述的那样进行修补。
  2. 不幸的是,PHP静态链接到curl(libcurl.a,见[2]),这意味着你不能切换到一个新的curl版本,除非重新编译新的PHP。 也许这只是一个人为限制。

补丁micheal正在谈论一些编码(改变卷曲源代码)。 如果你不希望这样做,使用fbopenssl库和链接curl反对。 之后

SPNEGO是的

将成为帮助版本中的一个标志。

请注意,您的curl版本将不支持密钥标签,用户名密码认证或凭证缓存模式。 如果你想使用我的卷发(这个剂量有Micheal的补丁虽然): –

 github.com/Khalian/CURL