tls_cbc_encrypt函数下面的语句:
padding_len = 16 - rem - 1;
for (i = 0; i <= padding_len; i++) {
padding[i] = (uint8_t)padding_len;
}
应该修改为:
padding_len = 16 - rem;
for (i = 0; i <padding_len; i++) {
padding[i] = (uint8_t)padding_len;
}
同理:
解密的地方对于padding的数据检测,少检测1个byte。
目前代码:可以client和server互通,没有问题,但是不知道有没有隐患。
tls_cbc_encrypt函数下面的语句:
padding_len = 16 - rem - 1;
for (i = 0; i <= padding_len; i++) {
padding[i] = (uint8_t)padding_len;
}
应该修改为:
padding_len = 16 - rem;
for (i = 0; i <padding_len; i++) {
padding[i] = (uint8_t)padding_len;
}
同理:
解密的地方对于padding的数据检测,少检测1个byte。
目前代码:可以client和server互通,没有问题,但是不知道有没有隐患。