我试图从boost :: asio运行SSL示例,并且在运行它们时遇到“无效参数”异常。我在Linux x86_64上。
http://www.boost.org/doc/libs/1_46_1/doc/html/boost_asio/example/ssl/client.cpp
http://www.boost.org/doc/libs/1_46_1/doc/html/boost_asio/example/ssl/server.cpp
编译:
g++ server.cpp -o server -lboost_system -lssl
g++ client.cpp -o client -lboost_system -lssl
运行像:
$ ./server
Usage: server <port>
$ ./server 10000
Exception: Invalid argument
$ ./server 1000
Exception: Permission denied
$ sudo ./server 1000
Exception: Invalid argument
不知道是什么问题:(任何帮助将不胜感激。
谢谢!
好的,对于将来发现此问题的任何人,您都需要创建证书并进行适当的签名。这是Linux的命令:
//生成私钥
openssl genrsa -des3 -out server.key 1024
//生成证书签名请求
openssl req -new -key server.key -out server.csr
//用私钥签名证书
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
//删除密码要求(例如,需要)
cp server.key server.key.secure
openssl rsa -in server.key.secure -out server.key
//生成dhparam文件
openssl dhparam -out dh512.pem 512
完成此操作后,您需要更改server.cpp和client.cpp中的文件名。
server.cpp
context_.use_certificate_chain_file("server.crt");
context_.use_private_key_file("server.key", boost::asio::ssl::context::pem);
context_.use_tmp_dh_file("dh512.pem");
client.cpp
ctx.load_verify_file("server.crt");
然后,它应该一切正常!
我想我在文档上遵循了非常多的步骤,但我仍然遇到了这个异常。(唯一的不同是我从Eclipse J2EE运行它,但我不会期望这真的很重要,不是吗?) 代码:(这不是我写的,它来自梁项目示例)。我认为您必须指定一个google云平台项目,并提供访问该项目的正确凭据。然而,在这个示例项目中,我没有找到进行设置的地方。 例外情况:
当我尝试用命令从终端运行sikuli时 java-jar sikuli-setup.jar
声明运行时异常的方法的指导原则是什么? 假设我调用一个抛出的第三方例程。该例程能够抛出而不声明它这样做是否允许/标准/可接受? 和往常一样,我对我的问题引起的困惑感到惊讶:-D这可能是因为我很困惑。 在下面的代码中,可调用的是一个lambda,它发出一个,这会抛出SQLException。callable.call抛出Exception。 我由此推测,程序员希望抛出一个SQLException。然
login.fxml: 它是在Eclipse中使用JRE 1.8.0而不是IntelliJ思想 这是一个错误:
问题内容: 运行单元测试时,我遇到了jar hell的问题。 我遇到了上述错误,并通过删除了不必要的jar文件解决了这些错误。 但是我面临以下两个jar的问题,即tomcat-embed-core-8.0.36.jar和hibernate- jpa-2.1-api-1.0.0.Final.jar。这两者之间有一个共同的类,我需要两个jar文件,任何人都可以向我解释如何解决此问题。我都需要jar文件