2 chris zcl chris_zcl 于 2013.07.03 13:48 提问

Apache Modulue开发中遇到的问题,关于openssl加密,总是报错,错在哪里?

char *iaisession_getobmuid(request_rec *r, const char *encid, const unsigned char *enckey, unsigned char *iv, const char *mtiid)
{
unsigned char *obmuid = (unsigned char *) apr_pcalloc(r->pool, LENGTH_OBMUID + 1);
char *b64edobmuid;
// get muid length
int mtiidlen = strlen(mtiid);
// encrypted obmuid length
int obmuidlen = 0;
// padding length
int paddinglen = 0;
// according to the key length, decide 128bit or 256bit AES encryption algorithm.
const EVP_CIPHER *aes_cbc = NULL;
int keylen = strlen((char *)enckey);
if (keylen == LENGTH_KEY_16) {
aes_cbc = EVP_aes_128_cbc();
} else if (keylen == LENGTH_KEY_32) {
aes_cbc = EVP_aes_256_cbc();
}
// cipher contex
EVP_CIPHER_CTX ctx;
// initializes cipher contex.
EVP_CIPHER_CTX_init(&ctx);
// sets up cipher context ctx for encryption with cipher type from ENGINE (default implementation).
EVP_EncryptInit_ex(&ctx, aes_cbc, NULL, enckey, iv);
// encrypts mtiidlen bytes from the mtiid in and writes the encrypted version to obmuid.
EVP_EncryptUpdate(&ctx, obmuid, &obmuidlen, (unsigned char *)mtiid, mtiidlen);
// obmuid is the encrypts.
EVP_EncryptFinal_ex(&ctx, obmuid + obmuidlen, &paddinglen);
// clears all information from a cipher context and free up any allocated memory associate with it.
EVP_CIPHER_CTX_cleanup(&ctx);
// base64 encode
b64edobmuid = iaisession_encodebybase64(r->pool, obmuid);
return b64edobmuid;
}

[Wed Jul 03 01:43:13 2013] [notice] child pid 28278 exit signal Segmentation fault (11)

1个回答

oyljerry
oyljerry   Ds   Rxr 2015.01.03 11:37

segmentation fault,程序异常了,比如指针越界等

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
django开发经常遇到的问题
1,关于csrf错误:csrf跨站请求伪造,是对网站的一种恶意利用,django自带防止csrf攻击的手段,在form表单的action属性中,get不需要csrf认证,而post需要,一般来说有两种解决办法:1.启用csrf认证,在settings.py中启用中间件django.middleware.csrf 2.关闭csrf认证 注释掉django.middleware.csrf即可 ...
Web开发安全问题简单汇总
Web开发安全问题简单汇总本人以Javaweb开发为例简单总结开发过程中可能遇到或者必须要注意的安全性相关问题 问题清单: 一、身份鉴别 1.用户身份鉴别,包括正确区分用户身份、鉴别失败处理、会话鉴别、角色鉴别; 2.弱口令,口令长度、口令组合规则、口令加密传输比对; 3.访问控制,访问控制策略; 二、日志记录与审计 1.数据库操作记录日志; 2
安卓app开发遇到的问题以及解决方法
1 出现类似问题: [2017-09-07 20:07:22 - DeviceMonitor] Adb connection Error:远程主机强迫关闭了一个现有的连接。 [2017-09-07 20:07:23 - DeviceMonitor] Connection attempts: 1 [2017-09-07 20:11:54 - DeviceMonitor] Adb connect
公司开发过程中遇到的问题总结(一)
来公司已经两个多月了,之前一直忽略了文档的积累,经过公司大佬猫哥的带领下,我才慢慢意识到优秀的文档到底是什么样? 如果说生活是一门艺术,那么每天的文档记录是程序员生活中的一首高昂的赞歌!! 自己写的工具类在测试时候报错, org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean ...
Java Web 开发过程中的问题
1.  .jsp 文件放到 webroot 目录 还是 webroot 下的 WEB-INF  目录下。        webroot 下的jsp 页面可以直接访问, 通过设置过滤器,放在webroot下面的文件也可以实现不能直接访问。       web-inf 下的jsp 不能直接访问。 TomCat 服务器下的WEB-INF文件夹是一个非常安全的文件,在页面中不能直接访问其中的
关于OPENSSL 实现 RSA加密几个问题
先用前人总结的RSA相关的资料介绍下: 一. RSA PEM文件格式 1. PEM私钥格式文件 1 2 -----BEGIN RSA PRIVATE KEY----- -----END RSA PRIVATE KEY----- 2. PEM公钥格式文件 1
web开发遇到的问题与解决思路
最近开发一个船舶项目,遇到的问题[问题][6]:一个船舶上物料有很多分类,分类下面还存在分类,分类下面还存在分类,有一些分类下面只存在2级关系分类,有的是3级,有的是4级,如果是最终的类别还要带具体物料的名字以及基本信息:[解决思路][6]:1.创建表结构以下为关键字段 字段名字 类型 备注 storesId bigint(20) 物料ID,主键 parentId bi
iOS开发中遇到的问题 (持续更新)
2017-12-27 iOS11 改变cell 高度时 TableView跳动。 if (@available(iOS 11.0, *)){ self.estimatedRowHeight = 0; self.estimatedSectionHeaderHeight = 0; self.estimatedSectionFooterHeight = 0; } 接上面的问题 场景
java项目开发过程中可能会遇到的错误大搜集
java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext BeanFactory没有实例化或者已经关闭,原因很简单:ApplicationContext ctx
SSM项目搭建时遇到的问题
具体搭建过程请参考:http://blog.csdn.net/zhshulin/article/details/37956105 下面是我在搭建的过程中遇到的一些问题及解决方法,仅供参考: 1、缺少commons-pool包,报错如下: 此处解决方案就是在pol.xml文件中引入该包     commons-pool     commons-pool     1.5.5