“Asserção falhou: n-len = 32” em montmul_vt.c parte de pkcs11_softtoken_extra

1

Meu aplicativo Java faz conexões SSL para o link . Ao mover meu aplicativo para o Solaris 10 a partir do Solaris 9, essas tentativas de conexão SSL causaram um erro de asserção em uma biblioteca do Solaris:

Assertion failed: n->len <= 32, file /on10/build-nd/F10U10B17/usr/src/common/bignum/sun4v/montmul_vt.c, line 437

Acontece que este não foi um problema de Java. Consegui resolvê-lo, mas o problema era obscuro o suficiente. Pensei em fornecer a resposta aqui para o benefício do Google e da próxima pessoa.

Do arquivo principal, a falha está aqui:

-----------------  lwp# 1 / thread# 1  --------------------
 ff2ce364 _lwp_kill (6, 0, ff3350c0, ff2ad954, ffffffff, 6) + 8
 ff242910 abort    (ffbfb4d8, 1, 0, edbe0, ff333558, 0) + 110
 ff242b4c _assert  (b34dca18, b34dca28, 1b5, b34f049c, ed8fc, ff257cd4) + 64
 b34d6338 big_mont_mul_yf (ffbfbadc, ffbfbd5c, ffbfc214, 1121754, 49c5d7f1, 40) +                0d10 big_mont_conv (ffbfc19c, ffbfc214, 1121754, 49c5d7f1, d54e0049, ffbfbd5c) + d4
 b34d1e68 big_modexp (ffbfc214, ffbfc214, 112177c, 1121754, ffbfbd5c, 0) + 138
 b34aaa10 soft_rsa_encrypt (112177c, 1236550, 200, ffbfca94, 1121728, 1121148) + 15c
 b34ab6b0 soft_rsa_verify_common (1121140, b538c8, 23, 1236550, 200, 1) + 60
 b3498ab8 C_Verify (1121140, b538c8, 23, 1236550, 200, 7) + 154
 b389a0a4 Java_sun_security_pkcs11_wrapper_PKCS11_C_1Verify (36594, ffbfd2dc,         b36b8ad0, 1121140, ffbfd2d0, ffbfd2cc) + 5c
 f8c0c280 * sun/security/pkcs11/wrapper/PKCS11.C_Verify(J[B[B)V+0

Usando o comando "pldd" no arquivo principal e passando-o para "/ usr / ccs / bin / nm", o arquivo da biblioteca foi determinado como:

/usr/lib/security/pkcs11_softtoken_extra.so.1
    
por Kevin O'Donnell 25.05.2012 / 16:24

2 respostas

1

Este é realmente um problema na biblioteca de softtokits PKCS # 11.

O problema foi corrigido sob o bug 15707130/7033814 (número novo / antigo).

Para resolver o problema, você precisa obter um patch que corrija 15707130/7033814. O Solaris 10u11 já contém a correção.

    
por 29.09.2016 / 22:12
0

Outra resposta no serverfault ( Strong Cryptography in Solaris Zone ) sugeriu a desativação de 'softtoken_extra 'como uma solução para um problema não relacionado. Desativar isso também resolveu esse problema para mim:

cryptoadm disable \
    provider=/usr/lib/security/\$ISA/pkcs11_softtoken_extra.so \
    mechanism=all

Voltar a reproduzir o erro "Assertion failed" em todos os casos

    
por 28.05.2012 / 15:49

Tags