Logica di codifica

L'applicazione espone l'interfaccia com.yantra.ycp.japi.util.YCPEncrypter per gestire la logica di codifica. Tutta la codifica e decodifica dell'applicazione viene gestita da una classe di codifica che implementa questa interfaccia.

Questa classe viene specificata configurando le proprietà seguenti nel file <runtime_sandbox>/properties/customer_overrides.properties :
  • security.encrypter.class
  • security.propertyencrypter.class

Entrambe le classi devono implementare l'interfaccia com.yantra.ycp.japi.util.YCPEncrypter .

L'interfaccia com.yantra.ycp.japi.util.YCPEncrypter dispone di due funzioni:
  • public java.lang.String encrypt (java.lang.String sData) - sData sono i dati trasmessi dall'applicazione alla classe di implementazione per la codifica. Il valore di ritorno è la stringa codificata.
  • public java.lang.String decrypt (java.lang.String sData) - sData è il dato che deve essere decodificato.

Per informazioni sulla scrittura della propria classe di codifica proprietà, consultare l'interfaccia YCPEncrypter nelle informazioni Javadoc.

Le funzioni di crittografia e decrittografia di questa interfaccia vengono invocate più volte da Sterling™ Order Management System. L'applicazione non distingue tra testo in chiaro e informazioni codificate. Pertanto, la funzione di crittografia può essere richiamata con dati precedentemente crittografati. Per evitare la doppia crittografia, è importante che la funzione di crittografia sia in grado di distinguere tra testo chiaro e informazioni precedentemente crittografate. Se le informazioni precedentemente codificate vengono trasmesse alla funzione, l'implementazione di questa funzione dovrebbe restituire ciò che viene passato in essa senza crittografarle di nuovo.

La funzione di decrittografia dovrebbe anche essere in grado di distinguere tra testo chiaro e testo precedentemente crittografato.

Disabilitazione della codifica e decodifica

Per disabilitare la codifica (o decodifica), implementare la funzione di codifica (o decodifica) per restituire lo stesso valore che viene passato come input senza alcuna elaborazione.