Não tenho ideia sobre este assunto, vamos aguardar que alguns especialistas respondam.
Avalados por :
Não tenho certeza se estou no fórum correto...
Para assinar uma mensagem para um aplicativo específico com um hash HMAC-SHA1, eu preciso de uma chave de 83 caracteres.
Meu problema: o módulo de função 'SET_HMAC_KEY' lança a exceção "param_length_error". Depois de testar com várias comprimentos de chave, descobri que o comprimento máximo válido é 81. Existe alguma razão para isso?
Com bibliotecas de terceiros (por exemplo, Python e JavaScript), chaves mais longas funcionam.
Código:
CALL FUNCTION 'SET_HMAC_KEY'
EXPORTING
generate_random_key = ' '
alg = 'SHA1'
keycstr = 'cB1phTHISISATESTVuZMDmWCz1CEMy82iBC3HgFLpE&7857T...YFqV93gRJQ'
client_independent = ' '
EXCEPTIONS
unknown_alg = 1
param_length_error = 2
internal_error = 3
param_missing = 4
malloc_error = 5
abap_caller_error = 6
base64_error = 7
calc_hmac_error = 8
rsec_record_access_denied = 9
rsec_secstore_access_denied = 10
rsec_error = 11
rng_error = 12
record_number_error = 13
OTHERS = 14.
Saudações, Uwe
Editado por: Julius Bussche em 5 de agosto de 2010 às 22:19
Eu cortei ainda mais a chave porque em uma tag de codificação afeta o formato quando é muito longa.
Não tenho ideia sobre este assunto, vamos aguardar que alguns especialistas respondam.
Olá Franklin,
Descrição do fórum:
...colaboração segura, como a segurança de mensagens (cifrado) e gestão de confiança...
Saudações, Uwe
Não sei se todos concordariam com isso:
Parece ser uma questão de desenvolvimento.
Olá,
Esse número 81 me parece completamente aleatório. 81 caracteres (bytes) são 648 bits. Aqui está uma cita de [RFC 2104 - HMAC: Keyed-Hashing for Message Authentication|http://www.faqs.org/rfcs/rfc2104.html].
A chave para HMAC pode ter qualquer comprimento (chaves mais longas que B bytes são primeiramente hasheadas usando H). No entanto, menos que L bytes são fortemente desencorajados, pois diminuiriam a força de segurança da função. Chaves mais longas que L bytes são aceitáveis, mas o comprimento extra não aumentaria significativamente a força da função. (Uma chave mais longa pode ser aconselhável se a aleatoriedade da chave for considerada fraca).
Portanto, não há limite para o tamanho da chave, mas qualquer chave mais longa que o tamanho de bloco (B bytes) da função hash será comprimida para B bytes. A chave deve ser mais longa que o tamanho de saída da função hash (L bytes), que para SHA-1 é de 160 bits = 20 bytes. O estado interno do SHA-1 é de 512 bits = 64 bytes.
Portanto, sugiro usar a função SHA-1 para reduzir qualquer chave mais longa que 64 bytes para 64 bytes e então passar uma nova chave para SET_HMAC_KEY.
Saudações
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute