ECOS OSを実行している組み込みシステムで OpenSSL を実行しています。現在、OpenSSL を 1.0.2 バージョンにアップグレードしています。OpenSSL ライブラリの移植とコンパイルに成功しました。しかし、SSL (https 経由) を使用してデバイスを接続しようとすると、ハンドシェイクは常に不良レコード mac アラートで失敗します。OpenSSL デバッグ オプションを有効にしましたが、失敗する理由を特定できません。
誰かが最新の OpenSSL コードを ECOS に移植しましたか? ECOS 用の最新の OpenSSL コードで特別なコンパイル フラグを取得する必要はありますか?
参考までに、 の関連部分を次に示しますssl3_get_record
。
mac = rr->data + rr->length;
i=s->method->ssl3_enc->mac(s,md,0 /* not send */);
if (i < 0 || CRYPTO_memcmp(md, mac, (size_t)mac_size) != 0)
{
al=SSL_AD_BAD_RECORD_MAC;
SSLerr(SSL_F_SSL3_GET_RECORD,SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC);
goto f_err;
}