小编jus*_*sij的帖子

iOS SecTrustRef始终为NULL

我正在尝试使用TCP/IP上的TLS将iOS应用程序连接到Windows C#服务器.

所述TLS连接使用不受信任的证书由一个创建不可信CA根证书使用makecert实用程序.

为了测试这些证书,我创建了一个简单的C#客户端,并使用这些证书,它能够连接并与服务器通信.

我不擅长iOS开发,但我确实找到了一些将我连接到服务器的代码,如下所示:

-(bool)CreateAndConnect:(NSString *) remoteHost withPort:(NSInteger) serverPort
{
    CFReadStreamRef readStream;
    CFWriteStreamRef writeStream;

    CFStreamCreatePairWithSocketToHost(NULL, (__bridge CFStringRef)(remoteHost),
                                       serverPort, &readStream, &writeStream);

    CFReadStreamSetProperty(readStream, kCFStreamPropertySocketSecurityLevel,
                            kCFStreamSocketSecurityLevelNegotiatedSSL);

    NSInputStream *inputStream = (__bridge_transfer NSInputStream *)readStream;
    NSOutputStream *outputStream = (__bridge_transfer NSOutputStream *)writeStream;

    [inputStream setProperty:NSStreamSocketSecurityLevelNegotiatedSSL forKey:NSStreamSocketSecurityLevelKey];

    // load certificate from servers exported p12 file
    NSArray *certificates = [[NSArray alloc] init];
    [self loadClientCertificates:certificates];

    NSDictionary *sslSettings = [NSDictionary dictionaryWithObjectsAndKeys:
                                 (id)kCFBooleanFalse, (id)kCFStreamSSLValidatesCertificateChain,
                                 certificates,(id)kCFStreamSSLCertificates,
                                 nil];

    [inputStream setProperty:sslSettings forKey:(__bridge NSString *)kCFStreamPropertySSLSettings];

    [inputStream setDelegate:self];
    [outputStream setDelegate:self];

    [inputStream …
Run Code Online (Sandbox Code Playgroud)

c# ssl objective-c tcp-ip ios

17
推荐指数
1
解决办法
713
查看次数

Lua 5.2 LUA_GLOBALSINDEX替代方案

我有一个嵌入Lua的程序,并实现了一种惰性函数查找.

它在Lua 5.1中的工作方式,只要符号未定义,解释器就会调用一个全局函数钩子来解析符号.

这是实现这个惰性函数查找的C代码的一小部分:

int function_hook(lua_State *pLuaState)
{
  // do the function lookup here
  ....
  return 1;
}

......

//-- create table containing the hook details
lua_newtable(pLuaState);
lua_pushstring(pLuaState, "__index");
lua_pushcfunction(pLuaState, function_hook);
lua_settable(pLuaState, -3);

//-- set global index callback hook
lua_setmetatable(pLuaState, LUA_GLOBALSINDEX);
Run Code Online (Sandbox Code Playgroud)

我现在正试图将此代码移至Lua 5.2并遇到问题.

在Lua 5.2中,不再定义LUA_GLOBALSINDEX值,因此这行代码不再编译.

//-- set global call back hook
lua_setmetatable(pLuaState, LUA_GLOBALSINDEX);
Run Code Online (Sandbox Code Playgroud)

LUA_GLOBALSINDEX 有一个对此更改的引用,但不幸的是它没有帮助.

重写这一行代码以便解释器在找到未解析的符号时调用function_hook的最佳方法是什么?

c lua

16
推荐指数
1
解决办法
1万
查看次数

标签 统计

c ×1

c# ×1

ios ×1

lua ×1

objective-c ×1

ssl ×1

tcp-ip ×1