3

コンパイラ/リンカーとして xlC_r を使用して、IBM PLinux の FIPS モードで静的にリンクされた OpenSSL を使用しようとしています。この組み合わせは、fipsld または fips_premain.c ではサポートされていません。fipld は {OSF1, IRIX, HP-UX, AIX, Darwin} の uname -s で FINGERPRINT_premain を呼び出すためのリンカー オプションを追加します。私がよく知らない他の人。残念ながら、IBM PLinux の xlC_r はこれらのいずれにも含まれていないため、次のコードを cpp ファイルの 1 つに追加することが FIPS 検証に受け入れられるかどうか、またはコンパイラ/リンカーを gcc に変更する必要があるかどうか、または別のコードがあるかどうかを知りたいと思います。 xlC_rを保持する方法(リンカーオプション?)。いくつかの理由を含めてください。

#if defined(PREMAIN_NOT_COVERED)
extern "C" void FINGERPRINT_premain(void);

class FIPSInitializer
{
public:
    FIPSInitializer()
    {
        FINGERPRINT_premain();
    }
    virtual ~FIPSInitializer()
    {
    }
};
extern FIPSInitializer fips_initializer;
FIPSInitializer fips_initializer;
#endif

リンク中に -Wl,init,FINGERPRINT_premain も使用しようとしましたが、共有ライブラリの使用中にテストでセグメンテーション違反が発生しました。

OpenSSL ユーザー ガイド: http://www.openssl.org/docs/fips/UserGuide-1.1.1.pdf

OpenSSL セキュリティ ポリシー: http://www.openssl.org/docs/fips/SecurityPolicy-2.0.pdf

4

1 に答える 1