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