IKEv1主模式证书协商中对证书相关载荷的处理。

认证方式为   RSA signatures 3 ---- RFC2409  中有描述

被动方先发送Certificate Request (7)报文,携带的Certificate Type:x.509 Certificate -Signature (4)
具体到代码流程
任务isakmp_cert_pre.c 、 isakmp_cert_post.c
this->state = CR_SA

第一条报文 : 主动方 cert_pre : build_i : 什么都不做,return NEED_MORE
                                       cert_post:   build_i : 什么都不做,return NEED_MORE
                      接收方 cert_pre : process_r : 发现使用证书,return NEED_MORE
                                 cert_post: process_r : 发现使用证书,return NEED_MORE
第二条报文 : 接收方   cert_pre :  build_r : 状态为CR_SA,直接设置状态,this->state = CR_KE,返回NEED_MORE
                                 cert_post: build_r: 状态为CR_SA,设置状态this->state = CR_KE,return NEED_MORE
                     主动方  cert_pre : process_i : 状态为CR_SA,发现要使用证书,this->state = CR_KE, return NEED_MORE
                                       cert_post : process_i : 状态为CR_SA,发现要使用证书,this->state = CR_KE,return NEED_MORE
第三条报文 : 主动方 cert_pre : build_i : 状态为CR_KE,什么都不做,return NEED_MORE
                                       cert_post : build_i : 状态为CR_KE, 什么都不做,return NEED_MORE
                     接收方 cert_pre : process_r : 状态为CR_KE,调用process_certreqs,这个时候由于报文里没有certreq载荷,因此什么都不处理,returnr NEED_MORE
                                cert_post : process_r : 状态为CR_KE,什么都不做,return NEED_MORE

第四条报文 : 接收方 cert_pre : build_r : 状态为CR_KE,this->send_req为真,build_certreqs,this->state = CR_AUTH, return NEED_MORE
                                cert_post : build_r : 状态为CR_KE,this->state = CR_AUTH,return NEED_MORE
                     主动方 cert_pre : process_i : 状态为CR_KE,process_certreqs,this->state = CR_AUTH
                                cert_post : process_i : 状态为CR_KE,this->state = CR_AUTH,return NEED_MORE

第五条报文 : 主动方 cert_pre : build_i : 状态为CR_AUTH,build_certreqs ,return NEED_MORE
                                       cert_post : build_i : 状态为 CR_AUTH build_certs ,return NEED_MORE
                     接收方 cert_pre : process_r : 状态为 CR_AUTH ,调用process_certreqs,处理certreq,process_certs处理证书 return SUCCESS   -- 任务销毁
                                cert_post : process_r : 状态为 CR_AUTH ,什么都不做,return NEED_MORE





第六条报文 : 接收方 cert_pre : build_r : 状态为 CR_AUTH ,return NEED_MORE  ----- 这个时候,应该已经没有此任务了,所以此场景不会走
                                cert_post : build_r : 状态为 CR_AUTH build_certs ,return SUCCESS -- 任务销毁
                     主动方 cert_pre : process_i : 状态为 CR_AUTH process_certs ,return SUCCESS -- 任务 销毁
                                cert_post : process_i : 状态为 CR_AUTH return SUCCESS -- 任务销毁

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值