git-svn-id: http://locode01.ad.dom/svn/WEBMIP/trunk@50874 248e525c-4dfb-0310-94bc-949c084e9493

This commit is contained in:
andrew.gilmore
2012-03-19 11:57:19 +00:00
parent 2a0f4900c3
commit 0e9ca75d77
1587 changed files with 500863 additions and 0 deletions

View File

@@ -0,0 +1,149 @@
package tsdemo;
// Class to alow Access manager to interface with the timestamp classes.
import oracle.sql.BLOB;
//import oracle.sql.*;
import oracle.jdbc.*;
import java.sql.*;
import java.io.*;
//
public class amTimestamp{
//
public static byte[] hash;
//
public static String fileName;
//
public static String timestamp;
//
public static oracle.sql.BLOB blobResponse;
//
public static String getHash() {
//
String stringHash;
//System.out.println("Class Hash: " + hash);
stringHash = hash.toString();
//
return stringHash;
}
//
/* Private Declaration */
private static Connection conn = null;
/* Procedural Declaration */
public static Connection getConnection() throws SQLException {
if ( conn == null ) {
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
try {
conn = DriverManager.getConnection("jdbc:default:connection:");
System.out.println("connection=default");
} catch ( Exception e ){}
}
if ( conn == null ) {
conn = DriverManager.getConnection("jdbc:oracle:thin:@loordv01:1521:dev10g","eft_nom","eft_nom");
System.out.println("connection=thin");
}
conn.setAutoCommit(false); // this is needed to write in update mode to BLOB
return conn;
}
//
public static oracle.sql.BLOB getRespBlob() throws SQLException,IOException {
//
// Returning a BLOB seems to be more tricky than expected
// If you return the original BLOB you will get an error
// from oracle, however loading it as a binary stream
// returns the value rather than a reference so works.
//
// Connection os required to create a temporary BLOB.
//
conn = getConnection();
BLOB tmpBlob = BLOB.createTemporary(conn, false,BLOB.DURATION_SESSION);
//
// Parameter to tmpBlob.setBinaryStream() is odd, got from a example and
// as it works I've left it as is.
//
OutputStream os = tmpBlob.setBinaryStream(0L);
//
os.write(blobResponse.getBytes());
os.flush();
os.close();
//
return tmpBlob;
}
//
public static String amTimestamp(oracle.sql.BLOB blobFile,
String URL,
String password,
String keystore) throws Exception {
//
//System.out.println(" URL: " + URL + " password: " + password + "keystore: " + keystore);
//
// Declare an Oracle BLOB type so we can pass this back to the PLSQL to allow the entire
// timestamp response to be stored in the database (using the getRespBlob method)
//
blobResponse = oracle.sql.BLOB.empty_lob();
timestamp = null;
//
// Get the hash value for the entered file
//
hash = amHashFile.getHash(blobFile, "SHA-1");
//System.out.println("Hash: " + hash);
//
// Instantiate a TimeStamp instance
//
TimeStamp ts = new TimeStamp();
//
//set the variables via the set methods
//
ts.setKeystoreFile(keystore);
ts.setKeystorePassword(password);
ts.setURL(URL);
// generate the timestamp
try {
//
timestamp = ts.generateTimestamp(hash,1318);
//
//System.out.println("Got Timestamp : " + timestamp);
//
} catch (Exception e) {
//
throw new TSException(e.getMessage());
//System.out.println("Exception occured.\n" + e.getMessage());
}
//
byte[] TSResp = ts.getResp();
//
// Retrieve the timesatmp response array from the timestamp class
//
blobResponse.setBytes(TSResp);
//
//System.out.println("BLOB length is : " + blobResponse.getLength());
//
return timestamp;
}
/**
*
* @param args
*/
public static void main(String[] args)
{
// Created for testing from JAVA rather than for actual use.
//System.out.println("Got here 1");
//String errMsg = "We";
amTimestamp theTimestamp = new amTimestamp();
//
oracle.sql.BLOB emptyBlob = null;
//
try {
//
String timeVal = theTimestamp.amTimestamp(emptyBlob,"https://tsa.trust-sign.hu:1318/","almafa","C:\\EFT_Noms\\keystore.jks");
//
System.out.println(" TimeVal: " + timeVal);
}
catch (Exception e) {
//
//if (e.getMessage() != null)
System.out.println(e.getMessage());
//
}
}
}