ssl - openssl header ssl

标签 ssl openssl

在将消息发送到套接字之前,是否有由 openssl 提供的附加 header ?

谢谢

最佳答案

我假设您在谈论 TLS(“安全 TCP”)。

那么是的。客户端和服务器之间的握手完成后,“数据”消息通常以 3 个特殊字节(如果我没记错的话)开头,向 SSL 层指示帧已加密。

另一方面,您不能假设加密帧的大小与原始帧/数据相同。

这里是 C/C++ 中的示例函数。

    bool isCiphered(const char* buf, size_t buflen)
    {
        if (buflen < 3)
        {
            return false;
        }

        uint8_t c = buf[0];

        switch (c)
        {
            case 0x14:
            case 0x15:
            case 0x16:
            case 0x17:
                {
                    uint8_t v1 = buf[1];
                    uint8_t v2 = buf[2];

                    /* TLS v1 */
                    if ((v1 == 0x03) && (v2 == 0x01))
                    {
                        return true;
                    }

                    /* DTLS v1 */
                    if ((v1 == 0xfe) && (v2 == 0xff))
                    {
                        return true;
                    }

                    break;
                }
        }

        return false;
    }

我必须调整我现有的代码,所以我不确定编译是否成功,但你应该明白了。

关于ssl - openssl header ssl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2536542/

相关文章:

ssl - 如何确保我的 NGINX 服务器使用 TLS 而不是 SSL 进行身份验证?

java - 如何通过 HTTP 代理连接 SSL 套接字?

git - SSL23_GET_SERVER_HELLO :sslv3 alert handshake failure

ruby - 如何以安全 SSL 模式 HTTPS 启动 WEBrick Ruby 服务器

ruby-on-rails - ruby open ssl api for encrypted key (without nodes option)

SSL证书中间CA

ssl - SSL 握手的 nginx 严重错误

python - 使用 Python 请求修复 SSL 证书错误

ssl - 有些图片在 http 下不加载,但在 https 下加载

python - Django WebApp - SSL 升级破坏了 CSS/模板