Class NativeBase
- java.lang.Object
-
- com.stepover.opensignatureapi.bridge.NativeBase
-
- Direct Known Subclasses:
NativeBridge
public class NativeBase extends java.lang.Object
base functions used to communicate with the signature pads per jna and hid
-
-
Field Summary
-
Constructor Summary
Constructors Constructor Description NativeBase()
NativeBase(java.lang.String identifier)
NativeBase(purejavahidapi.HidDevice hidDevice)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.String
base64Encode(byte[] data)
protected void
destroy(boolean disconnect)
protected void
finishSigning()
java.lang.Byte
getComponent(byte componentType)
java.lang.Integer
getMode(byte component, int modeType)
protected boolean
isAcceptSignature()
boolean
isAllEmpty(byte[] data)
protected boolean
isAllZero(byte[] buffer)
protected boolean
isConfigComponentReady()
protected boolean
isDuraSign(purejavahidapi.HidDeviceInfo deviceInfo)
protected boolean
isG12(purejavahidapi.HidDeviceInfo deviceInfo)
protected boolean
isG13(purejavahidapi.HidDeviceInfo deviceInfo)
protected boolean
isStopInputReport()
protected java.lang.String
javaPKCS7(byte[] hash, byte[] signatureCertificate)
void
printBits(byte[] bytes)
void
printBitsDebug(byte[] bytes)
protected byte[]
readTransferRam(purejavahidapi.HidDevice device)
byte[]
sendFeature(byte[] feature, purejavahidapi.HidDevice device)
protected byte[]
sendFeature(byte[] feature, purejavahidapi.HidDevice device, boolean returnReport)
int
sendOutput(byte[] output, purejavahidapi.HidDevice device)
protected void
setAcceptSignature(boolean state)
byte
setButtonConfiguration(NativeDevice.Button button, NativeDevice.ButtonState state)
byte
setButtonConfiguration(NativeDevice.Button button, NativeDevice.ButtonState state, NativeDevice.PadColor padColor)
byte
setConfiguration(java.lang.String key, java.lang.String valueStr)
byte[]
setPadMode(byte mode, java.lang.Byte parameter)
protected void
setStopInputReport(boolean state)
protected byte[]
sspReceive(byte component, byte message)
byte[]
sspSend(byte component, byte[] message)
-
-
-
Field Detail
-
hidDevice
protected purejavahidapi.HidDevice hidDevice
-
hidDeviceInfo
protected purejavahidapi.HidDeviceInfo hidDeviceInfo
-
isWindows
protected boolean isWindows
-
isLinux
protected boolean isLinux
-
isMac
protected boolean isMac
-
log
protected final java.util.logging.Logger log
-
HID_CMD_SET_PAD_MODE
public static final byte HID_CMD_SET_PAD_MODE
- See Also:
- Constant Field Values
-
HID_CMD_ENABLE_DRAWING
public static final byte HID_CMD_ENABLE_DRAWING
- See Also:
- Constant Field Values
-
HID_CMD_SET_ORIENTATION
public static final byte HID_CMD_SET_ORIENTATION
- See Also:
- Constant Field Values
-
HID_CMD_PAD_VERSION
public static final byte HID_CMD_PAD_VERSION
- See Also:
- Constant Field Values
-
HID_CMD_READ_BITMAP_PARAM
public static final byte HID_CMD_READ_BITMAP_PARAM
- See Also:
- Constant Field Values
-
HID_CMD_READ_BITMAP
public static final byte HID_CMD_READ_BITMAP
- See Also:
- Constant Field Values
-
HID_CMD_SET_PRE_DOC_HASH
public static final byte HID_CMD_SET_PRE_DOC_HASH
- See Also:
- Constant Field Values
-
HID_CMD_SET_FINAL_DOCUMENT_HASH
public static final byte HID_CMD_SET_FINAL_DOCUMENT_HASH
- See Also:
- Constant Field Values
-
HID_CMD_PERSIST_ROTATION_STATE
public static final byte HID_CMD_PERSIST_ROTATION_STATE
- See Also:
- Constant Field Values
-
HID_CMD_READ_TRANSFER_RAM
public static final byte HID_CMD_READ_TRANSFER_RAM
- See Also:
- Constant Field Values
-
HID_CMD_CLEAR_TRANSFER_RAM
public static final byte HID_CMD_CLEAR_TRANSFER_RAM
- See Also:
- Constant Field Values
-
HID_CMD_GET_STATUS
public static final byte HID_CMD_GET_STATUS
- See Also:
- Constant Field Values
-
HID_CMD_GET_PAD_MODE
public static final byte HID_CMD_GET_PAD_MODE
- See Also:
- Constant Field Values
-
HID_CMD_COPY_RAM_TO_BUFFER
public static final byte HID_CMD_COPY_RAM_TO_BUFFER
- See Also:
- Constant Field Values
-
HID_CMD_DIRECT_WRITE_TO_BUF
public static final byte HID_CMD_DIRECT_WRITE_TO_BUF
- See Also:
- Constant Field Values
-
HID_CMD_COPY_DATA_TO_RAM
public static final byte HID_CMD_COPY_DATA_TO_RAM
- See Also:
- Constant Field Values
-
HID_CMD_GET_USER_INPUT
public static final byte HID_CMD_GET_USER_INPUT
- See Also:
- Constant Field Values
-
HID_CMD_SET_PAGE_NUM_STR
public static final byte HID_CMD_SET_PAGE_NUM_STR
- See Also:
- Constant Field Values
-
HID_CMD_RELOAD_BITMAP_FROM_BUFFER
public static final byte HID_CMD_RELOAD_BITMAP_FROM_BUFFER
- See Also:
- Constant Field Values
-
HID_CMD_CREATE_SIGNATURE_RECTANGLE
public static final byte HID_CMD_CREATE_SIGNATURE_RECTANGLE
- See Also:
- Constant Field Values
-
HID_CMD_WRITE_FRAMEBUF_DATA
public static final byte HID_CMD_WRITE_FRAMEBUF_DATA
- See Also:
- Constant Field Values
-
HID_CMD_SET_BUTTON_ENABLED_STATE
public static final byte HID_CMD_SET_BUTTON_ENABLED_STATE
- See Also:
- Constant Field Values
-
HID_CMD_DIALOG
public static final byte HID_CMD_DIALOG
- See Also:
- Constant Field Values
-
CMD_SSP_MESSAGE_SEND
public static final byte CMD_SSP_MESSAGE_SEND
- See Also:
- Constant Field Values
-
CMD_SSP_MESSAGE_RECEIVE
public static final byte CMD_SSP_MESSAGE_RECEIVE
- See Also:
- Constant Field Values
-
SSP_TOKEN
public static final int SSP_TOKEN
- See Also:
- Constant Field Values
-
HID_COPYDATA_ID_RSAENC_AESKEY
public static final byte HID_COPYDATA_ID_RSAENC_AESKEY
- See Also:
- Constant Field Values
-
HID_COPYDATA_ID_SIGNED_DOCHASH
public static final byte HID_COPYDATA_ID_SIGNED_DOCHASH
- See Also:
- Constant Field Values
-
HID_COPYDATA_ID_PUBLIC_KEY1
public static final byte HID_COPYDATA_ID_PUBLIC_KEY1
- See Also:
- Constant Field Values
-
HID_COPYDATA_ID_CERTIFICATE
public static final byte HID_COPYDATA_ID_CERTIFICATE
- See Also:
- Constant Field Values
-
HID_COPYDATA_ID_NOTARY_INFO
public static final byte HID_COPYDATA_ID_NOTARY_INFO
- See Also:
- Constant Field Values
-
HID_COPYDATA_BOOTLOADER_INFO
public static final byte HID_COPYDATA_BOOTLOADER_INFO
- See Also:
- Constant Field Values
-
HID_USER_INPUT_NO_BUTTON
public static final byte HID_USER_INPUT_NO_BUTTON
- See Also:
- Constant Field Values
-
HID_USER_INPUT_OK_BUTTON
public static final byte HID_USER_INPUT_OK_BUTTON
- See Also:
- Constant Field Values
-
HID_USER_INPUT_REPEAT_BUTTON
public static final byte HID_USER_INPUT_REPEAT_BUTTON
- See Also:
- Constant Field Values
-
HID_USER_INPUT_CANCEL_BUTTON
public static final byte HID_USER_INPUT_CANCEL_BUTTON
- See Also:
- Constant Field Values
-
SSP_CMD_MODE_ENUMERATE
public static final byte SSP_CMD_MODE_ENUMERATE
- See Also:
- Constant Field Values
-
SSP_CMD_GET_COMPONENT_OVERVIEW
public static final byte SSP_CMD_GET_COMPONENT_OVERVIEW
- See Also:
- Constant Field Values
-
SSP_BUTTON_LAST_EVENT_GET_SIGN
public static final byte SSP_BUTTON_LAST_EVENT_GET_SIGN
- See Also:
- Constant Field Values
-
SSP_BUTTON_LAST_EVENT_GET_DOC_VIEW
public static final byte SSP_BUTTON_LAST_EVENT_GET_DOC_VIEW
- See Also:
- Constant Field Values
-
SSP_BUTTON_LAST_EVENT_REFRESH_DOC_VIEW
public static final byte SSP_BUTTON_LAST_EVENT_REFRESH_DOC_VIEW
- See Also:
- Constant Field Values
-
SSP_BUTTON_LAST_EVENT_GET
public static final byte SSP_BUTTON_LAST_EVENT_GET
- See Also:
- Constant Field Values
-
SSP_CMD_MODE_SEND
public static final byte SSP_CMD_MODE_SEND
- See Also:
- Constant Field Values
-
SSP_CONFIGURATION_VARIABLE_SET
public static final byte SSP_CONFIGURATION_VARIABLE_SET
- See Also:
- Constant Field Values
-
MT_SIGNATURE_CONFIRM
public static final byte MT_SIGNATURE_CONFIRM
- See Also:
- Constant Field Values
-
MT_SIGNATURE
public static final byte MT_SIGNATURE
- See Also:
- Constant Field Values
-
MT_DOC_VIEW
public static final byte MT_DOC_VIEW
- See Also:
- Constant Field Values
-
MT_DOC_SIGN
public static final byte MT_DOC_SIGN
- See Also:
- Constant Field Values
-
SIGN_PAD_COMPONENT
public static final byte SIGN_PAD_COMPONENT
- See Also:
- Constant Field Values
-
CONFIGURATION_COMPONENT
public static final byte CONFIGURATION_COMPONENT
- See Also:
- Constant Field Values
-
CPR_SUCCESS
public static final int CPR_SUCCESS
- See Also:
- Constant Field Values
-
PAD_MODE_SIGNING
public static final byte PAD_MODE_SIGNING
- See Also:
- Constant Field Values
-
PAD_MODE_CUSTOMER_LOGO
public static final byte PAD_MODE_CUSTOMER_LOGO
- See Also:
- Constant Field Values
-
PAD_MODE_CALIBRATION
public static final byte PAD_MODE_CALIBRATION
- See Also:
- Constant Field Values
-
PAD_MODE_SIGNATURE_BMP_PREPARE
public static final byte PAD_MODE_SIGNATURE_BMP_PREPARE
- See Also:
- Constant Field Values
-
PAD_MODE_SIGNATURE_BMP_RUN
public static final byte PAD_MODE_SIGNATURE_BMP_RUN
- See Also:
- Constant Field Values
-
PAD_MODE_DOC_VIEW
public static final byte PAD_MODE_DOC_VIEW
- See Also:
- Constant Field Values
-
PAD_MODE_DOC_SIGN
public static final byte PAD_MODE_DOC_SIGN
- See Also:
- Constant Field Values
-
PAD_MODE_CONFIG
public static final byte PAD_MODE_CONFIG
- See Also:
- Constant Field Values
-
PAD_MODE_PAD_OPEN_SIGN
public static final byte PAD_MODE_PAD_OPEN_SIGN
- See Also:
- Constant Field Values
-
PAD_MODE_PAD_OPEN_DIRECT
public static final byte PAD_MODE_PAD_OPEN_DIRECT
- See Also:
- Constant Field Values
-
PAD_MODE_DIALOG
public static final byte PAD_MODE_DIALOG
- See Also:
- Constant Field Values
-
PAD_MODE_EASY_DIALOG
public static final byte PAD_MODE_EASY_DIALOG
- See Also:
- Constant Field Values
-
PAD_MODE_CONT_SCROLL
public static final byte PAD_MODE_CONT_SCROLL
- See Also:
- Constant Field Values
-
commandTimeOuts
protected static java.util.HashMap<java.lang.Byte,java.lang.Integer> commandTimeOuts
-
configurationComponent
protected java.lang.Byte configurationComponent
-
components
protected byte[] components
-
signatureMode
protected java.lang.Integer signatureMode
-
signPadComponent
protected java.lang.Byte signPadComponent
-
firmwareVersion
protected int firmwareVersion
-
padOpened
protected boolean padOpened
-
signatureTimeout
protected java.lang.Integer signatureTimeout
-
acceptSignature
protected volatile boolean acceptSignature
-
stopInputReport
protected volatile boolean stopInputReport
-
signatureImageThread
protected java.lang.Thread signatureImageThread
-
buttonThread
protected java.lang.Thread buttonThread
-
keepAliveThread
protected java.lang.Thread keepAliveThread
-
signedFinalDocHashThread
protected java.lang.Thread signedFinalDocHashThread
-
bioDataOutputStream
protected volatile java.io.DataOutputStream bioDataOutputStream
-
bioDataByteArrayOutputStream
protected volatile java.io.ByteArrayOutputStream bioDataByteArrayOutputStream
-
currentSignatureImage
protected volatile java.awt.image.BufferedImage currentSignatureImage
-
scaledSignatureImage
protected volatile java.awt.image.BufferedImage scaledSignatureImage
-
DEBUG
protected final boolean DEBUG
- See Also:
- Constant Field Values
-
signSession
protected java.lang.String signSession
-
signedFinalDocHash
protected byte[] signedFinalDocHash
-
pdfFile
protected java.io.File pdfFile
-
-
Method Detail
-
sendFeature
public byte[] sendFeature(byte[] feature, purejavahidapi.HidDevice device) throws java.io.IOException
- Throws:
java.io.IOException
-
sendOutput
public int sendOutput(byte[] output, purejavahidapi.HidDevice device) throws java.io.IOException
- Throws:
java.io.IOException
-
sendFeature
protected byte[] sendFeature(byte[] feature, purejavahidapi.HidDevice device, boolean returnReport) throws java.io.IOException
- Throws:
java.io.IOException
-
readTransferRam
protected byte[] readTransferRam(purejavahidapi.HidDevice device) throws java.io.IOException
- Throws:
java.io.IOException
-
base64Encode
protected java.lang.String base64Encode(byte[] data)
-
isDuraSign
protected boolean isDuraSign(purejavahidapi.HidDeviceInfo deviceInfo)
-
isG13
protected boolean isG13(purejavahidapi.HidDeviceInfo deviceInfo)
-
isG12
protected boolean isG12(purejavahidapi.HidDeviceInfo deviceInfo)
-
setButtonConfiguration
public byte setButtonConfiguration(NativeDevice.Button button, NativeDevice.ButtonState state)
-
setButtonConfiguration
public byte setButtonConfiguration(NativeDevice.Button button, NativeDevice.ButtonState state, NativeDevice.PadColor padColor)
-
setConfiguration
public byte setConfiguration(java.lang.String key, java.lang.String valueStr)
-
sspSend
public byte[] sspSend(byte component, byte[] message) throws java.io.IOException
- Throws:
java.io.IOException
-
sspReceive
protected byte[] sspReceive(byte component, byte message) throws java.io.IOException
- Throws:
java.io.IOException
-
setPadMode
public byte[] setPadMode(byte mode, java.lang.Byte parameter) throws java.io.IOException
- Throws:
java.io.IOException
-
getComponent
public java.lang.Byte getComponent(byte componentType) throws java.io.IOException
- Throws:
java.io.IOException
-
getMode
public java.lang.Integer getMode(byte component, int modeType) throws java.io.IOException
- Throws:
java.io.IOException
-
isAllZero
protected boolean isAllZero(byte[] buffer)
-
printBits
public void printBits(byte[] bytes)
-
printBitsDebug
public void printBitsDebug(byte[] bytes)
-
setAcceptSignature
protected void setAcceptSignature(boolean state)
-
isAcceptSignature
protected boolean isAcceptSignature()
-
setStopInputReport
protected void setStopInputReport(boolean state)
-
isStopInputReport
protected boolean isStopInputReport()
-
isConfigComponentReady
protected boolean isConfigComponentReady()
-
destroy
protected void destroy(boolean disconnect)
-
finishSigning
protected void finishSigning()
-
javaPKCS7
protected java.lang.String javaPKCS7(byte[] hash, byte[] signatureCertificate)
-
isAllEmpty
public boolean isAllEmpty(byte[] data)
-
-