README.txt
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
#
# Copyright (c) 2008 Sun Microsystems Inc. All Rights Reserved
#
# The contents of this file are subject to the terms
# of the Common Development and Distribution License
# (the License). You may not use this file except in
# compliance with the License.
#
# You can obtain a copy of the License at
# https://opensso.dev.java.net/public/CDDLv1.0.html or
# opensso/legal/CDDLv1.0.txt
# See the License for the specific language governing
# permission and limitations under the License.
#
# When distributing Covered Code, include this CDDL
# Header Notice in each file and include the License file
# at opensso/legal/CDDLv1.0.txt.
# If applicable, add the following below the CDDL Header,
# with the fields enclosed by brackets [] replaced by
# your own identifying information:
# "Portions Copyrighted [year] [name of copyright owner]"
#
# $Id: README.txt,v 1.3 2008/11/04 06:04:44 veiming Exp $
#
TODO: Where to get openssowssproviders.jar
Have to setup jks on client end
Web Service Security Proxy (WSS Proxy)
--------------------------------------
%%1. Overview
%%2. Build WSS Proxy WAR
%%2.1 Library dependencies
%%2.2 Server Configuration
%%2.3 Build Web ARchive, wssproxy.war
%%3. Deploy WAR
%%4. Simple Test
________________________________________________________________________________
%%1. Overview
WSS Proxy is a Java EE compliance Web ARchive (WAR) that encrypts and decrypts
web service message. This is the typical setup.
secured
+-------------+ +-----------+ messages +-----------+ +-------------+
| | | | | | | |
| |--->| |------------>| |--->| |
| Web Service | | WSS Proxy | | WSS Proxy | | Web Service |
| Client | | |
Servers and Sites tab.
Select the server instance in Servers tab. In the server instance
profile page, select Security tab and note the value of Password
Encryption Key.
%%4.2 cd /opensso/extensions/wssproxy.
edit resources/setupValues.properties, these values have to be changed
a. BASEDIR
b. APPLICATION_PASSWORD
c. SERVER_PROTOCOL
d. SERVER_HOST
e. SERVER_PORT
f. DEPLOY_URI
g. ENCRYPTION_KEY (you got the value in %%4.1)
%%4.3 cd /opensso/extensions/wssproxy
ant clean; ant build
%%4.4 Use NetBean to create a Hello World Web Service Provider. And deploy the
WAR. Let it is http://www.wspsample.com:8080/WSP. This web service can be
as simple as printing "Hello World".
%%4.5 deploy /opensso/extensions/wssproxy/built/dist/wssproxy.war
in the same web container as the Hello World Web Service Provider. Let
its deployment URI be /wspproxy. To check if it is deployed correct.
Visit http://www.wspsample.com:8080/wspproxy and you will see
"Web Service Security Proxy" printed.
%%4.6 Login to OpenSSO server (as you have done in %%4.1). Choose Access
Control tab. Select / (Top Level Realm) and then Agent tab -> Web
Service Provider tab. Create a new agent for the wspproxy. Let its name
be "wspproxy". Select UserNameToken as one of the supported Security
Mechanisms. Enter http://www.wspsample.com:8080/WSP as the
Web Service Security Proxy End Point.
Up to this point, we have setup the Web Service Provider ends.
+-----------+ +-------------+
| | | |
| | | |
| WSS Proxy | | Web Service |
| (wspproxy)|/opensso/extensions/wssproxy/built/dist/wssproxy.war
in the same web container as the Web Service Client which is going to be
deploy later (see %%4.9). Let its deployment URI be /wscproxy. To check
if it is deployed correct. Visit http://www.wscsample.com:8080/wscproxy
and you will see "Web Service Security Proxy" printed.
%%4.8 Login to OpenSSO server (as you have done in %%4.1). Choose Access
Control tab. Select / (Top Level Realm) and then Agent tab -> Web
Service Client tab. Create a new agent for the wscproxy. Let its name
be "wscproxy". Select UserNameToken as the Security Mechanism.
Enter http://www.wspsample.com:8080/wspproxy/SecurityProxy/wspproxy as
the Web Service Security Proxy End Point.
%%4.9 Use NetBean to create a Web Service Client. Create a web service client.
Enter http://www.wscproxy.com:8080/wscproxy/SecurityProxy/wscproxy to
fetch WSDL. In the index.jsp, generate code to call the Web Service
Operation. Deploy the WAR. let it is http://www.wscsample.com:8080/WSC
Point your browser to http://www.wscsample.com:8080/WSC and index.jsp will be
invoked and Hello world message will be printed accordingly.