This section contains the following topics:
Introduction to the SiteMinder SDK
Other SiteMinder Documentation
The SiteMinder Software Development Kit (SDK) provides Application Programming Interfaces (APIs) that let you perform the following tasks:
The following table summarizes the custom applications and Policy Server extensions you can write using the APIs in the SiteMinder SDK:
Purpose and Associated API |
Language |
---|---|
Agent applications: Agent API |
C Java |
Policy Management applications: Policy Management API |
C Java |
Delegated Management Services (DMS) applications: DMS API |
Java |
Authentication: Authentication API |
C Java |
Authorization: Authorization API |
C Java |
Event handling: Event API |
C |
Tunnel service: Tunnel API |
C |
Pre- and post-process workflow for DMS events: DMS Workflow API |
C |
Access to non-supported directory types: Directory API |
C |
To run a custom SDK-based program, you must install the CAPKI library. The Policy Server and Web Agent installations include a CAPKI library. If the CAPKI library does not exist, perform the following steps:
The following figure illustrates the location of the APIs in relation to the SiteMinder Policy Server:
You must have the SiteMinder Policy Server to run the applications and Policy Server plug-ins that you develop with the SiteMinder SDK.
However, in most cases, you do not use the Policy Server to build those applications and plug-ins. The one exception is that when building Policy Management applications for Solaris using the C Policy Management API, you must do so on the machine where the Policy Server is installed.
At runtime:
The following table specifies the type of access to the Policy Server required by your applications and plug-ins:
Applications or Plug-Ins Developed with This API... |
Require This Type of Access to the Policy Server... |
---|---|
Authentication API |
Local |
Authorization API |
Local |
Directory API |
Local |
Tunnel Services API |
Local |
Event API |
Local |
C Policy Management API |
Local |
C Agent API |
Local or Remote |
Java Agent API |
Local or Remote |
Java Policy Management API |
Local or Remote |
Note: When you build Policy Management applications for Solaris environments using the C Policy Management API, use the libraries libsmpolicyapi45.so and libsmutilities.so, which are part of the Policy Server.
The SDK installation includes header files, binary files, and sample code. The top-level installed directory structure is shown below in the sdk directory:
The SiteMinder SDK contains a number of sample applications and plug-ins that can help you use the APIs.
The samples are installed in subdirectories of the following directory:
install_path/sdk/samples
For example:
C:/Program Files/CA/sdk/samples
Note: The Java samples use properties defined in the file smjsdksample.properties, located in /sdk/properties. Before you run the Java sample applications, modify this file with settings for your environment.
The sample subdirectories contain source files, project files, makefiles, and other related files for building the sample applications and plug-ins.
The following table lists the subdirectories where the sample files are installed:
Subdirectory Name |
Sample Description |
---|---|
assertiongenerator |
Java sample of SAML assertion customization.
|
dmsworkflow |
C-language Delegated Management Services workflow sample.
|
javaauthapi |
Java custom authentication sample.
|
javaazapi |
Java custom authorization samples.
|
javadmsapi |
Java Delegated Management Services sample. The directory includes examples of build and run This sample uses the policy store created by the javapolicyapi sample.
|
javapolicyapi |
Java policy management sample. The directory includes examples of build and run scripts. You can use the examples as models for your own scripts. |
smagentapi |
C-language custom agent sample. |
smauthapi |
C-language custom authentication sample. |
smazapi |
C-language custom authorization sample.
|
smdirapi |
C-language sample for accessing unsupported directories. |
smeventproviderapi |
C-language sample for creating custom event handlers. This sample references the header file smeventproviderapi.h. This is a custom header file used exclusively with this sample. The header file required for the Event API (and referenced within smeventproviderapi.h) is SmEventApi.h.
|
smjavaagentapi |
Java custom agent sample. The directory includes examples of build and run scripts. You can use the examples as models for your own scripts. This sample uses the policy store created by the javapolicyapi sample.
|
smpolicyapi |
C-language policy management sample. The sample shows how to protect a Web resource by creating a variety of SiteMinder Policy objects. The example includes:
|
smtunnelagent |
C-language tunnel agent sample. This sample is provided to communicate with the smtunnelservice sample shared library. The smtunnelagent sample uses the Agent API’s Sm_AgentApi_Tunnel() function.
|
smtunnelservice |
C-language tunnel services sample.
|
The SiteMinder Test Tool is a Windows-based utility that you can use to verify your policy configurations. The Test Tool simulates the interaction between Agents and Policy Servers, allowing you to test the functionality of the Policy Server without having a Web Agent or Web server installed.
The Test Tool acts as an agent sending requests to the Policy Server. These requests enable you to perform functional tests, such as verifying whether a resource is protected. You can also use the Test Tool to perform regression tests, which helps determine how well the Policy Server handles simultaneous requests.
To run the SiteMinder Test Tool, run SmTest.exe in the following location:
install_path\sdk\bin\
Note: The Test Tool does not support multibyte characters.
The CA SiteMinder® bookshelf includes the following SDK documentation:
SiteMinder documentation that you can possibly find helpful when using the SiteMinder SDK are listed following.
CA supports the Software Development Kit (SDK) as part of the standard offerings. Code written by customers or partners, however, is not supported. You are responsible for the code you write. If you require assistance designing or implementing SDK-based code, contact your CA customer account team.
Copyright © 2014 CA.
All rights reserved.
|
|