小编Axe*_*den的帖子

openssl s_client和s_server密码不匹配

我正在启动一个服务器:

openssl s_server -accept 8888 -cert server.de.crt -key server.de.key -state -cipher 'ECDHE-RSA-AES128-GCM-SHA256'
Run Code Online (Sandbox Code Playgroud)

然后使用s_client从同一台机器连接:

openssl s_client -connect localhost:8888 -state -cipher 'ECDHE-RSA-AES128-GCM-SHA256'
Run Code Online (Sandbox Code Playgroud)

给我:

3077933256:error:140740B5:SSL routines:SSL23_CLIENT_HELLO:no ciphers available:s23_clnt.c:469:
Run Code Online (Sandbox Code Playgroud)

但openssl密码告诉我它可用,密钥也应该有效.当我在apache 2.4的同一台机器上使用相同的密钥时,我的浏览器使用ECDHE-RSA-AES128-GCM-SHA256.所以我尝试使用chrome浏览器访问s_server:

https://machineip:8888
Run Code Online (Sandbox Code Playgroud)

服务器说:

CIPHER is ECDHE-RSA-AES128-GCM-SHA256
Run Code Online (Sandbox Code Playgroud)

所以s_server和密钥确实支持密码,但s_client不支持?为什么?

更多调查显示,只有使用SHA-1签名的密码似乎在客户端工作...

PS:我遇到过这个问题,因为我的node.js websocket服务器似乎也仅限于SHA-1密码.

encryption openssl sha1

5
推荐指数
1
解决办法
2469
查看次数

应用程序崩溃并重新启动手机

我正在测试应用程序,在大多数设备上它运行正常.但我发现至少有一个设备(iPhone 6s,但我还有其他工作正常),它不是应用程序崩溃,整个电话只是重新启动.在日志中找不到任何内容,也没有任何线索在应用程序中导致这种情况.

这怎么可能呢?从哪里开始寻找?

objective-c ios

5
推荐指数
1
解决办法
827
查看次数

OSX NSUserDefaults无法正常工作

这段代码在我的应用程序中始终没有.它确实适用于我复制它的任何其他项目......所以必须弄清楚我的standardUserDefaults,但我绝对不知道这是怎么发生的以及如何解决它!

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setBool:YES forKey:@"myKey"];

BOOL test = [defaults boolForKey:@"myKey"];
// test is ALWAYS NO here!
Run Code Online (Sandbox Code Playgroud)

任何人都可以暗示我,从哪里开始或如何摆脱这个?

这是一个带有swift和objective c的混合项目,并在AppDelegate.swift中获得相同的行为,当我将它直接放在我的applicationDidFinishLaunching中时

let defaults = NSUserDefaults.standardUserDefaults()        
defaults.setBool(true, forKey: "myKey")

let test = defaults.boolForKey("myKey")
// test ALWAYS false here   
Run Code Online (Sandbox Code Playgroud)

在有人问: - 是的,即使在它之间调用同步 - 是的,这是整个代码,行之间没有任何东西......设置并在不起作用后立即行动

macos objective-c nsuserdefaults

4
推荐指数
1
解决办法
766
查看次数

标签 统计

objective-c ×2

encryption ×1

ios ×1

macos ×1

nsuserdefaults ×1

openssl ×1

sha1 ×1