¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Implementação de Criptografia AES256 no SAP e Fiori com CryptoJS e oData

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 12 Vistas
0
Cargando...
Introdução

Recentemente tivemos um requisito em nossa organização para implementar criptografia na transmissão de dados do Fiori para o SAP com oData. O requisito era criptografar AES256 as informações compartilhadas entre os sistemas.

Classes/Funções do SAP e Bibliotecas JS utilizadas no processo:



  • Da biblioteca crypto-js, é utilizado o arquivo AES.js para implementar a lógica de geração de chave AES e criptografia de informações.

  • É utilizado CL_SEC_SXML_WRITER para a descriptografia das informações.

  • É utilizado SCMS_STRING_TO_XSTRING para converter string em xstring.

  • /ui2/cl_abap2json é utilizado para converter xstring em string.


Importar biblioteca JS para seu projeto


Imagem1




  • Agora devemos importar a biblioteca Javascript aes.js em nosso controlador principal ou no controlador que deseja usar.

  • Adicione o seguinte comando no topo do seu controlador "jQuery.sap.require("seuDiretorioDoArquivoAESInserido")"



Imagem2



Gerar Chave de Criptografia e Criptografia (em JS do Fiori)


Usei a seguinte lógica para gerar a chave para a criptografia em JavaScript e enviá-la para o SAP através do serviço oData.

*IV: Em criptografia, um vetor de inicialização (IV) é uma entrada para um primitivo criptográfico que é usado para fornecer o estado inicial. O IV geralmente é aleatório. A aleatorização é crucial para alguns esquemas de criptografia para alcançar segurança semântica, uma propriedade pela qual o uso repetido do esquema com a mesma chave não permite a um atacante inferir relações entre segmentos (potencialmente semelhantes) da mensagem criptografada.

Nota: Use seu próprio IV criado aleatoriamente. E o comprimento da chave gerada aleatoriamente deve ser de 32 caracteres.

Criptografia:
// Esta é a nossa Mensagem Secreta Criptografada
let data = "ESTA É MINHA CHAVE SECRETA";
//vetor de inicialização para segurança adicional
let iv = 'EsteÉNossoIVAleatório123456';
//Sua chave deve ter um comprimento de 32 caracteres, você deve gerar sua própria chave aleatória a cada vez
let key = 'ESTAÉNOSSACHAVE123456789ESTAÇÃO01';

// preparar chave e IV para a criptografia CryptoJS
let fkey = CryptoJS.enc.Utf8.parse(key);
let fiv = CryptoJS.enc.Utf8.parse(iv);    
            
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

Sin respuestas

No hay respuestas para mostrar No hay respuestas para mostrar Se el primero en responder

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?