- 博客(22)
- 资源 (2)
- 收藏
- 关注
原创 pthread_cancel() 在NDK中不能使用的最佳解决方案
设计者的角度则在于提供更大的灵活性和通用性,接口内不去实现特殊情况下的特定逻辑。有人针对这个问题向glibc nptl的开发者提了这个bug,然后作者的回答也比较直接拒了这个bug,然后两人就开始撕,单看争论的内容感觉这个确实是一个bug,大概是说文档和标准都没有这么说明,它怎么就崩溃了呢?但还要注意的是,POSIX 表示尝试使用生命周期已结束的线程 ID 会产生未定义的行为,例如,尝试在调用 pthread_kill() 时使用无效的线程 ID 可能会导致分段错误。针对pthread_kill,
2023-04-11 17:03:56 837 3
原创 openssl engine rsa引擎tls认证 (9)
我们通过rsa引擎可以替换openssl中得rsa算法,使用我们自己得算法,那么在tls(c/s)通信过程中,在handshark握手阶段有证书认证,使用rsa证书得话会涉及rsa签名,验签得过程,同时还会调用rsa公钥加密接口。我自己写的简单rsa算法并不满足openssl的tls验证,但是通过客户端打印可以发现,openssl 在进行tls认证的时候使用的是我们rsa引擎的算法!openssl引擎在tls通信的应用,实现tls的客户端和服务端,进行tls双休认证。切记证书相同保证一致。
2023-08-23 09:47:28 222 4
原创 openssl engine引擎 同时实现rsa sha256 rand随机数三个引擎(8)
【代码】openssl engine引擎 同时实现rsa sha256 rand随机数三个引擎(8)
2023-08-16 13:41:48 155
原创 openssl engine引擎 实现rand随机数(6)
通过对openssl RAND_METHOD结构体进行重新赋值并导入到引擎中,在使用openssl与rand相关的算法中都会调用引擎中的rand算法。
2023-08-16 13:40:47 281 1
原创 openssl engine引擎 使用流程和函数介绍(5)
引擎结构:每个引擎都有一个对应的ENGINE结构体,其中定义了引擎的属性、方法、名称等信息。引擎可以实现各种密码算法、加密算法、随机数生成器等功能。引擎的方法:引擎可以提供各种密码学操作的方法,如加密、解密、签名、验证等。通过调用引擎的方法,可以使用定制的算法来执行这些操作。引擎的初始化:在使用引擎之前,需要进行引擎的初始化。这包括加载引擎、注册引擎等步骤。可以使用和函数进行初始化。引擎的加载和使用:动态引擎可以通过函数获取,并通过各种控制函数进行配置和使用。
2023-08-16 13:40:13 593 1
原创 openssl engine引擎 实现RSA引擎 (4)
通过对openssl rsa_st结构体进行重新赋值并导入到引擎中,在使用openssl与rsa相关的算法中都会调用引擎中的rsa算法。
2023-08-16 13:39:08 143 1
原创 openssl engine引擎结构(3)
结构体,其中定义了引擎的属性、方法、名称等信息。如果你的结构中的方法没有实现,你使用你自定义引擎的时候,调用该方法如果是NULL,会出现程序崩溃。这些结构体在openssl\ossl_typ.h 都有描述结构体都在openssl\evp.h中。ENGINE_METHOD` 标志位,您可以在引擎初始化时指定引擎所支持的方法。例如RSA_METHOD 结构体原型如下所示:通过对结构体进行定义和。我们可以使用内置的 OpenSSL 方法来获取方法结构,而不是将。我们需要申明自己的方法结构体。的定义放在头文件中。
2023-08-16 13:38:18 217 1
原创 openssl engine demo(2)
3、然后定义引擎的方法通过bind_helper绑定函数绑定方法。1、这是通过静态加载的方式调用引擎。2、首先定义引擎id和name。4、实现引擎加载函数load。废话不多说直接上代码。
2023-08-16 11:27:12 172 1
原创 openssl engine概述(1)
OpenSSL 引擎(Engine)是 OpenSSL 库的一个扩展机制,用于实现加密、解密、签名、验证等操作的定制化实现。引擎可以通过共享库(动态链接库)的方式被加载和使用,从而扩展 OpenSSL 的功能。引擎类型:OpenSSL 引擎可以分为静态引擎和动态引擎。静态引擎是编译到 OpenSSL 库中的,而动态引擎是通过共享库加载的。动态引擎允许在运行时加载和替换,从而更灵活地定制 OpenSSL 功能。
2023-08-16 11:25:48 768 2
原创 利用OpenSSL建立SSL安全通信(C/S)
可以进行tls双向认证,并且可以选定protocol,支持tlsv1.2 分别对应客户端和服务端,后续可以通过openssl engine引擎进行算法替换。
2023-08-10 17:25:01 763 4
原创 boringssl 构建Android保姆及构建
首先,从 BoringSSL 的 GitHub 仓库获取源代码。仓库地址:https://github.com/google/boringssl。确保您已经下载并配置了 Android NDK(Native Development Kit)的路径。目录中运行 CMake 命令,指定 Android NDK 的路径和您的目标 Android 平台 ABI。编译成功后,将在构建目录中生成 BoringSSL 的共享库(替换为您实际的 Android NDK 路径。的目录,并进入该目录。
2023-07-19 16:34:25 433
原创 搭建mosquitto ssl/tls 认证保姆级教学
生成服务器ca-cert.pem,client-cert.pem和client-key.pem来支持SSL连接。我设法通过以下步骤将Java客户端连接到Cloud SQL。执行openssl脚本生成ca.crt ca.key client.crt client.key server.key server.crt。cmd命令工具,输入一下命令:会生成 truststore、keystore 2个文件。保姆级别教学
2023-07-13 17:36:09 743 1
原创 TCP/UDP模型介绍
TPC并发服务器用进程1.创建套接字socket2.绑定套接字信息bind3.监听队列listen4.等待连接acceptvoid func(int arg){ wait(NULL);}signal(17,func)while(1){ confd=accept(); fork(); if(pid==0) { signal(17,func) fork(); i...
2022-05-11 10:24:21 183 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人