Oracle® Secure Enterprise Search Administrator's Guide 10g Release 1 (10.1.8.1) Part Number B32514-01 |
|
|
View PDF |
This appendix describes the tasks to register an Oracle SES WSRP portlet (or, secure portlet). OracleAS Portal customers can use this portlet from their Portal pages. This secure portlet requires Oracle Application Server Portal 10.1.4.
This contains the following topics:
This section lists the detailed tasks necessary on the Portal 10.1.4 (consumer) side.
Apply Portal patch for bug 5024378.
Generate keys. (This is necessary for secure portlet search.) Follow the Configuration section of the OracleAS Portal patch Installation and Configuration Guide until Step 2.
After the public/private key is generated, export the public key to Oracle SES instance. (This is necessary for secure portlet search.)
See Also:
"Example of Exporting Keys"Complete the steps required in the following section "Oracle SES Tasks".
Register the portlet provider and create a portlet page. Complete Step 3 & 4 of the Configuration section of the Portal patch Installation and Configuration Guide.
Note:
Any intermediary step repeated after the installation steps require restart of the corresponding servers.This section lists the detailed tasks necessary on the Oracle SES (provider) side.
First, you invoke Oracle SES WSRP Web Service ports. You then register the public key of OracleAS Portal with the Oracle SES OC4J instance and enable Username Token Web Service Security for Oracle SES WSRP Web Service port. Then, set up Oracle Identity Management as the security provider. (So far, all these steps are necessary for secure search.) You then change configuration files. (jazn.xml
and wsmgnt.xml
are necessary for secure portlet search; portlet.xml
is necessary for both public and secure portlet search.) Finally, you must restart the Oracle SES OC4J instance.
Note:
The same commands can be used if Oracle SES is installed in Windows if you use "\" in place of "/" for the directory path.In this section, $ORACLE_HOME
represents the path where Oracle SES is installed. On Windows, the equivalent is %ORACLE_HOME%
.
Log on to OC4J console using http://<host>:<port>/em
where <port>
is the Oracle SES port (default 7777).
For user name enter oc4jadmin, and for password enter the Oracle SES installation password.
Click the Applications tab, and then click the search_portlet application link.
Under the Modules section, click the search_portlet_war Web application link.
Click the Test Web Module link.
Enter the URL in the test box: http://<host>:<port>/sesPortlet/portlets/WSRPBaseService?WSDL. Then click the Test Web Module button. A window will appear to ensure that the portlet is deployed properly.
Add Identity & Keystore Credentials, Enable WS Security Username Token. (This is necessary for secure search.)
Click the Application: search_portlet link. Then click the Web Services tab, and then the WSRPBaseService link.
Click the Administration link.
Click the Enable/Disable Features button if security is not enabled already. Select Security from Available Features and move it to Enabled Features using the move button. Click OK to enable the security. (If security is enabled, then skip to the next Edit configuration step.)
Click the Security row Edit configuration link to configure keystore credentials and identity certifications.
Click the Keystore and Identity Certificates button to configure key store information.
Enter the following information, and click OK.
Note:
The cacerts keystore is where the public key of the Portal (consumer) will be imported. If it is to some other keystore, then change it accordingly.Keystore name: SESKey
Keystore path: ../../../../../jdk/jre/lib/security/cacerts (Specify path to keystore, relative to the application root directory.)
Keystore Type: JKS
Keystore password: by default, changeit is the password
Click the Inbound Policies button to enable the username token ws-security mechanism.
Select the Use Username/Password Authentication checkbox. Click OK to complete keystore credentials and identity certificates.
Set Oracle Internet Directory as the security provider. (This is necessary for secure search.)
Click the OC4J: OC4J_SEARCH tab.
Click the Administration tab. Then scroll down to click the Identity Management link to enter identity management server details.
Click the Configure button and enter the Oracle Identity Management server information. (If identity management is already set, then it will show the configuration settings. Make the necessary changes. If no changes are necessary, then proceed with the next step.) After entering necessary information, click the Next button after Step 1 and Step 2. Select the Use OID Security Provider box for search_portlet application alone and click the Configure button to complete setup of Oracle Internet Directory as the security provider.
Click the OC4J: OC4J_SEARCH link.
Click the Administration tab, then click the Security Provider link.
Click Edit for the search_portlet application.
Click the Change Security Provider button.
Select Oracle Identity Management Security Provider from the dropdown list. Click OK.
Logout from the OC4K Web Enterprise Manager.
Restart the Oracle SES OC4J instance to enable security provider settings:
Change directory to $ORACLE_HOME/bin
and run the following command:
./ searchctl restart
On Windows, run the following command:
searchctl restart
Add the mapping attribute entry to the jazn.xml
.
From the $ORACLE_HOME/oc4j/j2ee/home/config
directory, edit jazn.xml
. Add the following entry at the end before the </jazn>
tag:
"<property name="mapping.attribute" value="cn"/>"
Replace the entries in $ORACLE_HOME/oc4j/j2ee/OC4J_SEARCH/config/jazn.xml
with the entries from $ORACLE_HOME/oc4j/j2ee/home/config/jazn.xml
.
Change the verify-username-token
element to support "Username Token without password web service security" in wsmgmt.xml
(This is necessary for secure search.)
Change directory to $ORACLE_HOME/oc4j/j2ee/OC4J_SEARCH/config
to edit the wsmgmt.xml
file. Comment the following entry:
"<verify-username-token password-type="PLAINTEXT" require-nonce="false" require-created="false"/>"
and make the following entry:
"<verify-username-token> <property name="username.token.allow.nopassword" value="true"/> </verify-username-token>"
Edit portlet.xml
.
From the $ORACLE_HOME/oc4j/j2ee/OC4J_SEARCH/applications/search_portlet/search_portlet_war/WEB-INF
directory, edit portlet.xml
to change the following <init-param>
element values:
Change endPointURL
value element to appropriate http://<host>:<port>/search/query/OracleSearch.
Change absUrlPrefix
value element to appropriate http://<host>:<port>/.
For secure search, set secureContentSearch
value element to true.
Change appID
value element to one of the keys that is configured as a federated trusted entity. If one is not provided, then you must configure one.
Change appPWD
value element to the corresponding password of the configured federated trusted entity.
Note:
Set up federated trusted entities on the Global Settings - Federation Trusted Entities page in Oracle SES. Enter an entity name and password, then click Add. The entry will be added to the Trusted Entities table.Restart the Oracle SES OC4J instance to enable the changes made to portlet.xml
.
From the $ORACLE_HOME/bin
directory, run the following command:
./ searchctl restart
On Windows, run the following command:
searchctl restart
Create a public and private key on the consumer, OracleAS Portal, and export the public key to the provider, Oracle SES.
See Also:
The appendix of the Installation and Configuration Guide provided with the Portal patch for a detailed description about how to create a keyThe following commands indicate a sample usage experience for creating and importing the keys.
Generate key:
keytool -genkey -alias portalsignkey -keypass <key-password> –keyalg RSA -sigalg SHA1withRSA -keystore portalKey.jks -storepass <store-password>
List keystore to see the key generated in the name portalsignkey:
keytool -list -keystore portalKey.jks -storepass <store-password>
Create a certificate request file:
keytool -certreq -file portalKey.csr -alias portalsignkey -keystore portalKey.jks -storepass <store-password> -keypass <key-password>
Import root, intermediate [if needed] and public key certificate:
keytool -import -file root.cer -keystore portalKey.jks -storepass <store-password> keytool -import -file intermediate.cer -keystore portalKey.jks -storepass <store-password> -alias inter keytool -import -file portalKey.cer -keystore portalKey.jks -storepass <store-password> -alias portalsignkey -keypass <key-password>
Export public key:
keytool -export -file portalpublickey.cer -alias portalsignkey -keystore portalKey.jks -storepass <store-password>
Import public key to Oracle SES cacerts:
keytool -import -file portalpublickey.cer -keystore cacerts -storepass <store-password> –alias portalpublickey
Note:
<key-password>
is the password to protect the private key of the generated key pair, and <store-password>
is the password to protect the integrity of the keystore.