web-dev-qa-db-ja.com

PKCS#7回答の暗号化にトリプルDES(3DES)アルゴリズムを使用するようにWndows NDESサーバーを構成できますか?

NDESサーバーに証明書を登録するためにSCEPクライアントを実行しています。 OpenSSLがFIPSモードでない場合、すべてが正常に機能します。

FIPSモードでは、次のエラーが発生します。

pkcs7_unwrap():pkcs7.c:708] error decrypting inner PKCS#7
139968442623728:error:060A60A3:digital envelope routines:FIPS_CIPHERINIT:disabled for fips:fips_enc.c:142:
139968442623728:error:21072077:PKCS7 routines:PKCS7_decrypt:decrypt error:pk7_smime.c:557:

これは、NDESサーバーがDESアルゴリズムを使用して、返されたPKCS#7パケットを暗号化するためです。次のデバッグコードを使用しました。

/* Copy enveloped data from PKCS#7 */
    bytes = BIO_read(pkcs7bio, buffer, sizeof(buffer));
    BIO_write(outbio, buffer, bytes);

    p7enc = d2i_PKCS7_bio(outbio, NULL);

/* Get encryption  PKCS#7 algorithm */

    enc_alg=p7enc->d.enveloped->enc_data->algorithm;
    evp_cipher=EVP_get_cipherbyobj(enc_alg->algorithm);
    printf("evp_cipher->nid = %d\n", evp_cipher->nid);

最後の文字列は常に出力されます。

evp_cipher-> nid = 31

openssl-1.0.1c/include/openssl /objects.hで定義されています

#define SN_des_cbc "DES-CBC"
#define LN_des_cbc "des-cbc"
#define NID_des_cbc 31

コードでPKCS7リクエストの暗号化に3DESアルゴリズムを使用し(pscep.enc_alg =(EVP_CIPHER *)EVP_des_ede3_cbc())、NDESサーバーはこれらのリクエストを受け入れますが、常にDESで暗号化された回答を返します。

PKCS#7回答の暗号化にトリプルDES(3DES)アルゴリズムを使用するようにWndows NDESサーバーを構成できますか?

1
O.Shevchenko

マイクロソフトのサポート(Diana Zhang)から、これは不可能だという回答がありました: http://social.technet.Microsoft.com/Forums/en-US/winserversecurity/thread/83a6680c-6610-4cf7-a4fa-1bc63f32a8be

After in-depth research, want to let you know:
The content encryption algorithm for P7 in hardcoded to DES(in CBC mode).
Regards,
Diana
1
O.Shevchenko