如何使用SSLSetALPNProtocols?

时间:2017-10-11 10:21:58

标签: swift app-transport-security transport-security

我正在为vapor项目开发一个TLS库,并支持Apple(Transport-)Security和OpenSSL,以便在HTTP / 2客户端和服务器中使用。

On this line of code我正试图致电SSLSetALPNProtocols。无论我采用何种方法,我都在这行代码中遇到ld链接器错误。

Undefined symbols for architecture x86_64:
  "_SSLSetALPNProtocols", referenced from:
      __T08AppleSSL9SSLOptionV4alpnACSaySSG9protocols_tFZySo10SSLContextCKcfU_ in Options.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

没有可用的文档来突出显示可能的明显错误since the page is empty

那么,如何使用ALPN支持编译此代码?

2 个答案:

答案 0 :(得分:1)

目前这是不可能的。 Apple忘记导出SSLSetALPNProtocolsSSLCopyALPNProtocols功能。

我已经提交了rdar:// 34790589(rdar:// 33907676的副本)

答案 1 :(得分:0)

截至最新的macOS和Xcode测试版与Swift 4.1一起,我已经开始运行了。