public interface IDVaultAPI
extends com.sun.jna.Library
JNA wrapper for some exported C functions that manipulate SAML assertions and id vault entries. This interface is wrapped by the KeepSAML class, and should not be used directly
| Modifier and Type | Field and Description |
|---|---|
static IDVaultAPI |
INSTANCE
requires a platform-specific native library on the PATH e.g., idvaultapi.dll or libidvaultapi.so
|
| Modifier and Type | Method and Description |
|---|---|
void |
freeUserIdHandle(java.lang.String handle,
com.sun.jna.Pointer KFHandle)
Free up memory associated with the user id handle
|
int |
getErrorString(short status,
com.sun.jna.Memory msgBuf,
int bufsize)
given a Notes status code, get the associated error string
|
int |
getHostNameFromDN(java.lang.String dn,
com.sun.jna.Memory hostName,
int bufsize)
given a server name in DN format (CN=sansimeon/O=projectkeep.io), fill a buffer with the HTTP host name (https://sansimeon.projectkeep.io) returns the length of the string in the buffer
|
short |
getIDHandle(java.lang.String idFile,
com.sun.jna.ptr.LongByReference pbr)
Convert an in-memory id file name to a Notes KFHANDLE value (void *)
|
int |
getSAMLRequest(java.lang.String userEmail,
java.lang.String dominoName,
com.sun.jna.Memory SAMLbuffer,
int SAMLbufSize,
com.sun.jna.Memory vaultBuffer,
int vaultSize)
Format a SAML assertion request for the configured IDP given a user email and domino DN.
|
short |
getUserIdHandle(java.lang.String userEmail,
java.lang.String dominoName,
java.lang.String vaultName,
java.lang.String SAMLAssertion,
int isB64Encoded,
com.sun.jna.Memory idfilebuf,
int bufsize)
Given a valid SAML assertion XML string, get the handle associated with the user’s ID file
|
static final IDVaultAPI INSTANCE
requires a platform-specific native library on the PATH e.g., idvaultapi.dll or libidvaultapi.so
int getSAMLRequest(java.lang.String userEmail,
java.lang.String dominoName,
com.sun.jna.Memory SAMLbuffer,
int SAMLbufSize,
com.sun.jna.Memory vaultBuffer,
int vaultSize)
Format a SAML assertion request for the configured IDP given a user email and domino DN. Fills in the byte array,
userEmail - xyzzy@google.com or whateverdominoName - CN=xyzzy/O=org or whateverSAMLbuffer - returned saml request xmlSAMLbufSize - size of SAMLbuffer in bytes (must be big, say 10KB)vaultBuffer - returned idvault namevaultSize - size of vaultBuffer in bytesshort getUserIdHandle(java.lang.String userEmail,
java.lang.String dominoName,
java.lang.String vaultName,
java.lang.String SAMLAssertion,
int isB64Encoded,
com.sun.jna.Memory idfilebuf,
int bufsize)
Given a valid SAML assertion XML string, get the handle associated with the user’s ID file
userEmail - xyzzy@google.com or whateverdominoName - CN=xyzzy/O=org or whatevervaultName - name returned from getSAMLRequestSAMLAssertion - assertion response xmlisB64Encoded - should always be true, DO NOT SUBMIT CLEAR TEXTidfilebuf - returned in-memory file namebufsize - size of idfilebuf in bytesvoid freeUserIdHandle(java.lang.String handle,
com.sun.jna.Pointer KFHandle)
throws com.sun.jna.LastErrorException
Free up memory associated with the user id handle
handle - id file namecom.sun.jna.LastErrorException - JNA errorint getErrorString(short status,
com.sun.jna.Memory msgBuf,
int bufsize)
given a Notes status code, get the associated error string
status - Notes status codemsgBuf - returned error message (generally less than 1KB)bufsize - size of msgBuf in bytesint getHostNameFromDN(java.lang.String dn,
com.sun.jna.Memory hostName,
int bufsize)
given a server name in DN format (CN=sansimeon/O=projectkeep.io), fill a buffer with the HTTP host name (https://sansimeon.projectkeep.io) returns the length of the string in the buffer
dn - Distinguished name of serverhostName - returned internet host namebufsize - size of hostName in bytesshort getIDHandle(java.lang.String idFile,
com.sun.jna.ptr.LongByReference pbr)
Convert an in-memory id file name to a Notes KFHANDLE value (void *)
idFile - file namepbr - returned KFHANDLE