Posso configurar o servidor Wndows NDES para usar o algoritmo Triple DES (3DES) para criptografia de resposta PKCS # 7?

1

Estou executando o cliente SCEP para inscrever certificados no servidor NDES. Se o OpenSSL não estiver no modo FIPS - tudo funciona bem.

No modo FIPS, recebo o seguinte erro:

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:

Isso porque o servidor NDES usa o algoritmo DES para criptografar o pacote PKCS # 7 retornado. Eu usei o seguinte código de depuração:

/* 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);

A última string sempre imprime:

evp_cipher- > nid = 31

definido em 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

Eu uso algoritmo 3DES para PKCS7 solicita criptografia no meu código (pscep.enc_alg = (EVP_CIPHER *) EVP_des_ede3_cbc ()) e o servidor NDES aceita essas solicitações, mas sempre retorna a resposta criptografada com DES.

Posso configurar o servidor Wndows NDES para usar o algoritmo Triple DES (3DES) para criptografia de resposta PKCS # 7?

    
por O.Shevchenko 17.12.2012 / 11:07

1 resposta

1

Recebi resposta do suporte da Microsoft (Diana Zhang) dizendo que isso é impossível: link

After in-depth research, want to let you know:
The content encryption algorithm for P7 in hardcoded to DES(in CBC mode).
Regards,
Diana
    
por 16.01.2013 / 10:09