Files
mip/Data/BulkLoad/EFT/Nominations/plsql/amfr_timestamp.spc

91 lines
3.9 KiB
Plaintext

CREATE OR REPLACE PACKAGE amfr_timestamp IS
-- Author : RIDERC
-- Created : 21/03/2007 16:33:56
-- Purpose : Package to store timestamping routines.
--
-- PUBLIC constants
--
g_URL CONSTANT VARCHAR2(255) := cout_system_configuration.get_configuration_item('G_TIMESTAMP_URL');
g_password CONSTANT VARCHAR2(255) := cout_system_configuration.get_configuration_item('G_TIMESTAMP_PASSWORD');
g_keystore CONSTANT VARCHAR2(255) := cout_system_configuration.get_configuration_item('G_TIMESTAMP_KEYSTORE');
--
C_Defaulted CONSTANT VARCHAR2(1) := 'D';
C_valid CONSTANT VARCHAR2(1) := 'V';
C_Invalid CONSTANT VARCHAR2(1) := 'I';
C_Retry CONSTANT VARCHAR2(1) := 'R';
C_Yes CONSTANT VARCHAR2(1) := 'Y';
--
C_test_run CONSTANT BOOLEAN := (C_Yes = cout_system_configuration.get_configuration_item('G_TEST_RUN'));
--
C_Nomination CONSTANT VARCHAR2(1) := 'N';
C_Confirmation CONSTANT VARCHAR2(1) := 'C';
--
---
-- Don't know what format this will be!
---
C_JAVA_DATA_FMT CONSTANT VARCHAR2(255) := 'DD-MON-YYYY HH24:MI:SS';
--
/**
Wrapper for obtaining a timestamp from the timestamping service
@param p_file BLOB file for the hashing algorithm
@param p_URL VARCHAR2 URL for the timestamping service
@param p_password VARCHAR2 password for the JKS keystore file
@param p_keystore VARCHAR2 keystore file location e.g. C:\\temp\\keystore.jks
@return The timestamp.
*/
FUNCTION Amtimestamp(p_File IN BLOB,
p_Url IN VARCHAR2,
p_Password IN VARCHAR2,
p_Keystore IN VARCHAR2) RETURN VARCHAR2;
/**
Wrapper for obtaining the file has.
@return the hash used by the last call to amTimestamp.
*/
FUNCTION Gethash RETURN VARCHAR2;
/**
Returns the entire response from the web service used for timestamping.
@return the response as a BLOB.
*/
FUNCTION Getrespblob RETURN BLOB;
/**
Function to record a timestamp from a trusted source for the logging of document submission.
This process inserts the timestamp into the DOCUEMTN_TIMESTAMPS table but relies on the calling procedure
to COMMIT the transaction.
@param p_identifier identifier for the document being timestamped
@param p_docType Type of document being timestamped
@param p_file_for_hash BLOB file for the hashing algorithm
@param p_URL VARCHAR2 URL for the timestamping service
@param p_password VARCHAR2 password for the JKS keystore file
@param p_keystore VARCHAR2 keystore file location e.g. C:\\temp\\keystore.jks
--
@return DATE the timestamp as an Oracle DATE.
*/
FUNCTION Timestamp_Document(p_Identifier IN Document_Timestamps.Doc_Identifier%TYPE,
p_Doctype IN Document_Timestamps.Doc_Type%TYPE,
p_File_For_Hash IN BLOB,
p_Url IN VARCHAR2 DEFAULT g_URL,
p_Password IN VARCHAR2 DEFAULT g_password,
p_Keystore IN VARCHAR2 DEFAULT g_keystore) RETURN DATE;
/**
Procedure to retry the call to the timestamp service.
@param p_identifier identifier for the document being timestamped
@param p_docType Type of document being timestamped
@param p_URL VARCHAR2 URL for the timestamping service
@param p_password VARCHAR2 password for the JKS keystore file
@param p_keystore VARCHAR2 keystore file location e.g. C:\\temp\\keystore.jks
*/
PROCEDURE retry_timestamp(p_Identifier IN Document_Timestamps.Doc_Identifier%TYPE,
p_Doctype IN Document_Timestamps.Doc_Type%TYPE,
p_Url IN VARCHAR2,
p_Password IN VARCHAR2,
p_Keystore IN VARCHAR2);
END amfr_timestamp;
/