Added support for the Validate AuthToken Service.
Made necessary spec file changes to support our configuration.
This commit is contained in:
parent
e9680fbfa1
commit
5bec27ee66
@ -19,9 +19,11 @@
|
|||||||
#
|
#
|
||||||
#######################################################################
|
#######################################################################
|
||||||
|
|
||||||
AC_INIT(autogen.sh)
|
AC_INIT(CASA_auth_token_svc, 1.7.1,,CASA_auth_token_svc)
|
||||||
|
AC_CONFIG_SRCDIR(autogen.sh)
|
||||||
AC_CANONICAL_SYSTEM
|
AC_CANONICAL_SYSTEM
|
||||||
AM_INIT_AUTOMAKE(CASA_auth_token_svc, 1.7.1)
|
AM_INIT_AUTOMAKE(tar-pax)
|
||||||
|
|
||||||
RELEASE=`date +%Y%m%d_%H%M`
|
RELEASE=`date +%Y%m%d_%H%M`
|
||||||
AC_SUBST(RELEASE)
|
AC_SUBST(RELEASE)
|
||||||
AM_MAINTAINER_MODE
|
AM_MAINTAINER_MODE
|
||||||
|
@ -1,3 +1,15 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Sep 14 09:57:00 MDT 2006 - jluciani@novell.com
|
||||||
|
|
||||||
|
- Made changes to support the Authtoken Validate Service. This now
|
||||||
|
fixes support of "C" services.
|
||||||
|
|
||||||
|
- Switched to using IBMs java instead of SUNs. This was done in order to
|
||||||
|
gain better Kerberos support (IBMs Kerberos modul supports more
|
||||||
|
encryption types) and to get around a problem in SUN's Invocation API
|
||||||
|
that was not letting us consume our AuthToken class from a native thread
|
||||||
|
other than the thread which creates the JVM.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Aug 18 11:49:22 MDT 2006 - jluciani@novell.com
|
Fri Aug 18 11:49:22 MDT 2006 - jluciani@novell.com
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
Name: @PACKAGE@
|
Name: @PACKAGE@
|
||||||
URL: http://www.novell.com/products
|
URL: http://www.novell.com/products
|
||||||
BuildRequires: libstdc++ gcc-c++ glib2-devel libstdc++-devel pkgconfig java-1_5_0-sun java-1_5_0-sun-devel update-alternatives mono-devel servletapi5 identity-abstraction
|
BuildRequires: libstdc++ gcc-c++ glib2-devel libstdc++-devel pkgconfig java-1_5_0-ibm java-1_5_0-ibm-devel update-alternatives mono-devel servletapi5 identity-abstraction
|
||||||
%define prefix /usr
|
%define prefix /usr
|
||||||
License: LGPL
|
License: LGPL
|
||||||
Group: Applications/System
|
Group: Applications/System
|
||||||
@ -28,7 +28,7 @@ Release: 0
|
|||||||
Summary: Novell Common Authentication Services Adapter Authentication Token Infrastructure "Java" (CASA_auth_token)
|
Summary: Novell Common Authentication Services Adapter Authentication Token Infrastructure "Java" (CASA_auth_token)
|
||||||
Source: %{name}-%{version}.tar.bz2
|
Source: %{name}-%{version}.tar.bz2
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
Requires: java-1_5_0-sun servletapi5 tomcat5
|
Requires: java-1_5_0-ibm servletapi5 tomcat5
|
||||||
PreReq: %fillup_prereq %insserv_prereq
|
PreReq: %fillup_prereq %insserv_prereq
|
||||||
BuildArchitectures: noarch
|
BuildArchitectures: noarch
|
||||||
|
|
||||||
@ -51,7 +51,7 @@ enabled.
|
|||||||
%package -n CASA_auth_token_jaas_support
|
%package -n CASA_auth_token_jaas_support
|
||||||
Summary: Libraries needed for JAAS applications development.
|
Summary: Libraries needed for JAAS applications development.
|
||||||
Group: Applications/System
|
Group: Applications/System
|
||||||
Requires: java-1_5_0-sun
|
Requires: java-1_5_0-ibm
|
||||||
|
|
||||||
%description -n CASA_auth_token_jaas_support
|
%description -n CASA_auth_token_jaas_support
|
||||||
CASA_auth_token is an authentication token infrastructure with support for multiple
|
CASA_auth_token is an authentication token infrastructure with support for multiple
|
||||||
@ -93,29 +93,54 @@ make
|
|||||||
install -d %{buildroot}%{prefix}
|
install -d %{buildroot}%{prefix}
|
||||||
install -d %{buildroot}%{prefix}/share
|
install -d %{buildroot}%{prefix}/share
|
||||||
install -d %{buildroot}%{prefix}/share/java
|
install -d %{buildroot}%{prefix}/share/java
|
||||||
|
install -d %{buildroot}%{prefix}/share/java/CASA
|
||||||
|
install -d %{buildroot}%{prefix}/share/java/CASA/authtoken
|
||||||
|
install -d %{buildroot}%{prefix}/share/java/CASA/authtoken/external
|
||||||
install -d %{buildroot}/etc
|
install -d %{buildroot}/etc
|
||||||
install -d -m 777 %{buildroot}/etc/CASA
|
install -d -m 755 %{buildroot}/var/lib/CASA
|
||||||
install -d -m 777 %{buildroot}/etc/CASA/authtoken
|
install -d -m 755 %{buildroot}/var/lib/CASA/authtoken
|
||||||
|
install -d -m 755 %{buildroot}/var/lib/CASA/authtoken/svc
|
||||||
|
install -d -m 755 %{buildroot}/etc/CASA
|
||||||
|
install -d -m 755 %{buildroot}/etc/CASA/authtoken.d
|
||||||
|
install -d -m 755 %{buildroot}/etc/CASA/authtoken.d
|
||||||
|
install -d -m 755 %{buildroot}/etc/CASA/authtoken.d/svc.d
|
||||||
|
install -d -m 755 %{buildroot}/etc/CASA/authtoken.d/java-keys
|
||||||
|
|
||||||
## CASA_auth_token_svc ##
|
## CASA_auth_token_svc ##
|
||||||
# Libs
|
# Libs
|
||||||
install -m 755 %{_lib}/java/CasaAuthTokenSvc.war %{buildroot}%{prefix}/share/java/CasaAuthTokenSvc-%{bldno}.war
|
install -m 755 %{_lib}/java/CasaAuthTokenSvc.war %{buildroot}%{prefix}/share/java/CASA/authtoken/CasaAuthTokenSvc-%{bldno}.war
|
||||||
|
|
||||||
# Lib Symbolic Links
|
# Lib Symbolic Links
|
||||||
ln -sf CasaAuthTokenSvc-%{bldno}.war %{buildroot}%{prefix}/share/java/CasaAuthTokenSvc.war
|
ln -sf CasaAuthTokenSvc-%{bldno}.war %{buildroot}%{prefix}/share/java/CASA/authtoken/CasaAuthTokenSvc.war
|
||||||
ln -sf CasaAuthTokenSvc-%{bldno}.war %{buildroot}%{prefix}/share/java/CasaAuthTokenSvc.war.1
|
ln -sf CasaAuthTokenSvc-%{bldno}.war %{buildroot}%{prefix}/share/java/CASA/authtoken/CasaAuthTokenSvc.war.1
|
||||||
|
|
||||||
## CASA_auth_token_jaas_support ##
|
## CASA_auth_token_jaas_support ##
|
||||||
# Libs
|
# Libs
|
||||||
install -m 755 %{_lib}/java/CasaJaasSupport.jar %{buildroot}%{prefix}/share/java/CasaJaasSupport-%{bldno}.jar
|
install -m 755 %{_lib}/java/CasaJaasSupport.jar %{buildroot}%{prefix}/share/java/CASA/authtoken/CasaJaasSupport-%{bldno}.jar
|
||||||
install -m 755 %{_lib}/java/CasaAuthToken.jar %{buildroot}%{prefix}/share/java/CasaAuthToken-%{bldno}.jar
|
install -m 755 %{_lib}/java/CasaAuthToken.jar %{buildroot}%{prefix}/share/java/CASA/authtoken/CasaAuthToken-%{bldno}.jar
|
||||||
install -m 755 server/Svc/crypto.properties %{buildroot}/etc/CASA/authtoken/crypto.properties
|
install -m 755 server/Svc/external/axis.jar %{buildroot}%{prefix}/share/java/CASA/authtoken/external/axis.jar
|
||||||
|
install -m 755 server/Svc/external/axis-ant.jar %{buildroot}%{prefix}/share/java/CASA/authtoken/external/axis-ant.jar
|
||||||
|
install -m 755 server/Svc/external/commons-discovery-0.2.jar %{buildroot}%{prefix}/share/java/CASA/authtoken/external/commons-discovery-0.2.jar
|
||||||
|
install -m 755 server/Svc/external/commons-logging-1.0.4.jar %{buildroot}%{prefix}/share/java/CASA/authtoken/external/commons-logging-1.0.4.jar
|
||||||
|
install -m 755 server/Svc/external/commons-logging-api.jar %{buildroot}%{prefix}/share/java/CASA/authtoken/external/commons-logging-api.jar
|
||||||
|
install -m 755 server/Svc/external/jaxrpc.jar %{buildroot}%{prefix}/share/java/CASA/authtoken/external/jaxrpc.jar
|
||||||
|
install -m 755 server/Svc/external/log4j.properties %{buildroot}%{prefix}/share/java/CASA/authtoken/external/log4j.properties
|
||||||
|
install -m 755 server/Svc/external/log4j-1.2.8.jar %{buildroot}%{prefix}/share/java/CASA/authtoken/external/log4j-1.2.8.jar
|
||||||
|
install -m 755 server/Svc/external/saaj.jar %{buildroot}%{prefix}/share/java/CASA/authtoken/external/saaj.jar
|
||||||
|
install -m 755 server/Svc/external/wsdl4j-1.5.1.jar %{buildroot}%{prefix}/share/java/CASA/authtoken/external/wsdl4j-1.5.1.jar
|
||||||
|
install -m 755 server/Svc/external/wss4j-1.5.0.jar %{buildroot}%{prefix}/share/java/CASA/authtoken/external/wss4j-1.5.0.jar
|
||||||
|
install -m 755 server/Svc/external/xalan.jar %{buildroot}%{prefix}/share/java/CASA/authtoken/external/xalan.jar
|
||||||
|
install -m 755 server/Svc/external/xercesImpl.jar %{buildroot}%{prefix}/share/java/CASA/authtoken/external/xercesImpl.jar
|
||||||
|
install -m 755 server/Svc/external/xml-apis.jar %{buildroot}%{prefix}/share/java/CASA/authtoken/external/xml-apis.jar
|
||||||
|
install -m 755 server/Svc/external/xmlsec-1.2.1.jar %{buildroot}%{prefix}/share/java/CASA/authtoken/external/xmlsec-1.2.1.jar
|
||||||
|
install -m 644 server/Svc/crypto.properties %{buildroot}/etc/CASA/authtoken.d/crypto.properties
|
||||||
|
install -m 644 server/Svc/jaas.conf %{buildroot}/etc/CASA/authtoken.d/svc.d/jaas.conf
|
||||||
|
|
||||||
# Lib Symbolic Links
|
# Lib Symbolic Links
|
||||||
ln -sf CasaJaasSupport-%{bldno}.jar %{buildroot}%{prefix}/share/java/CasaJaasSupport.jar
|
ln -sf CasaJaasSupport-%{bldno}.jar %{buildroot}%{prefix}/share/java/CASA/authtoken/CasaJaasSupport.jar
|
||||||
ln -sf CasaJaasSupport-%{bldno}.jar %{buildroot}%{prefix}/share/java/CasaJaasSupport.jar.1
|
ln -sf CasaJaasSupport-%{bldno}.jar %{buildroot}%{prefix}/share/java/CASA/authtoken/CasaJaasSupport.jar.1
|
||||||
ln -sf CasaAuthToken-%{bldno}.jar %{buildroot}%{prefix}/share/java/CasaAuthToken.jar
|
ln -sf CasaAuthToken-%{bldno}.jar %{buildroot}%{prefix}/share/java/CASA/authtoken/CasaAuthToken.jar
|
||||||
ln -sf CasaAuthToken-%{bldno}.jar %{buildroot}%{prefix}/share/java/CasaAuthToken.jar.1
|
ln -sf CasaAuthToken-%{bldno}.jar %{buildroot}%{prefix}/share/java/CASA/authtoken/CasaAuthToken.jar.1
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
@ -136,11 +161,18 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
|
%dir %{prefix}/share/java/CASA
|
||||||
|
%dir %{prefix}/share/java/CASA/authtoken
|
||||||
|
%dir /var/lib/CASA
|
||||||
|
%dir /var/lib/CASA/authtoken
|
||||||
|
%dir /var/lib/CASA/authtoken/svc
|
||||||
%dir /etc/CASA
|
%dir /etc/CASA
|
||||||
%dir /etc/CASA/authtoken
|
%dir /etc/CASA/authtoken.d
|
||||||
%{prefix}/share/java/CasaAuthTokenSvc-%{bldno}.war
|
%dir /etc/CASA/authtoken.d/svc.d
|
||||||
%{prefix}/share/java/CasaAuthTokenSvc.war
|
%dir /etc/CASA/authtoken.d/java-keys
|
||||||
%{prefix}/share/java/CasaAuthTokenSvc.war.1
|
%{prefix}/share/java/CASA/authtoken/CasaAuthTokenSvc-%{bldno}.war
|
||||||
|
%{prefix}/share/java/CASA/authtoken/CasaAuthTokenSvc.war
|
||||||
|
%{prefix}/share/java/CASA/authtoken/CasaAuthTokenSvc.war.1
|
||||||
|
|
||||||
|
|
||||||
## CASA_auth_token_jaas_support ##
|
## CASA_auth_token_jaas_support ##
|
||||||
@ -158,15 +190,35 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
|
|
||||||
%files -n CASA_auth_token_jaas_support
|
%files -n CASA_auth_token_jaas_support
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
|
%dir %{prefix}/share/java/CASA
|
||||||
|
%dir %{prefix}/share/java/CASA/authtoken
|
||||||
|
%dir %{prefix}/share/java/CASA/authtoken/external
|
||||||
%dir /etc/CASA
|
%dir /etc/CASA
|
||||||
%dir /etc/CASA/authtoken
|
%dir /etc/CASA/authtoken.d
|
||||||
%{prefix}/share/java/CasaJaasSupport-%{bldno}.jar
|
%dir /etc/CASA/authtoken.d/java-keys
|
||||||
%{prefix}/share/java/CasaJaasSupport.jar
|
%{prefix}/share/java/CASA/authtoken/CasaJaasSupport-%{bldno}.jar
|
||||||
%{prefix}/share/java/CasaJaasSupport.jar.1
|
%{prefix}/share/java/CASA/authtoken/CasaJaasSupport.jar
|
||||||
%{prefix}/share/java/CasaAuthToken-%{bldno}.jar
|
%{prefix}/share/java/CASA/authtoken/CasaJaasSupport.jar.1
|
||||||
%{prefix}/share/java/CasaAuthToken.jar
|
%{prefix}/share/java/CASA/authtoken/CasaAuthToken-%{bldno}.jar
|
||||||
%{prefix}/share/java/CasaAuthToken.jar.1
|
%{prefix}/share/java/CASA/authtoken/CasaAuthToken.jar
|
||||||
/etc/CASA/authtoken/crypto.properties
|
%{prefix}/share/java/CASA/authtoken/CasaAuthToken.jar.1
|
||||||
|
%{prefix}/share/java/CASA/authtoken/external/axis.jar
|
||||||
|
%{prefix}/share/java/CASA/authtoken/external/axis-ant.jar
|
||||||
|
%{prefix}/share/java/CASA/authtoken/external/commons-discovery-0.2.jar
|
||||||
|
%{prefix}/share/java/CASA/authtoken/external/commons-logging-1.0.4.jar
|
||||||
|
%{prefix}/share/java/CASA/authtoken/external/commons-logging-api.jar
|
||||||
|
%{prefix}/share/java/CASA/authtoken/external/jaxrpc.jar
|
||||||
|
%{prefix}/share/java/CASA/authtoken/external/log4j.properties
|
||||||
|
%{prefix}/share/java/CASA/authtoken/external/log4j-1.2.8.jar
|
||||||
|
%{prefix}/share/java/CASA/authtoken/external/saaj.jar
|
||||||
|
%{prefix}/share/java/CASA/authtoken/external/wsdl4j-1.5.1.jar
|
||||||
|
%{prefix}/share/java/CASA/authtoken/external/wss4j-1.5.0.jar
|
||||||
|
%{prefix}/share/java/CASA/authtoken/external/xalan.jar
|
||||||
|
%{prefix}/share/java/CASA/authtoken/external/xercesImpl.jar
|
||||||
|
%{prefix}/share/java/CASA/authtoken/external/xml-apis.jar
|
||||||
|
%{prefix}/share/java/CASA/authtoken/external/xmlsec-1.2.1.jar
|
||||||
|
/etc/CASA/authtoken.d/crypto.properties
|
||||||
|
/etc/CASA/authtoken.d/svc.d/jaas.conf
|
||||||
|
|
||||||
|
|
||||||
%changelog -n CASA_auth_token_svc
|
%changelog -n CASA_auth_token_svc
|
||||||
|
@ -190,7 +190,7 @@ public class CasaLoginModule implements LoginModule
|
|||||||
// Instantiate the AuthToken, this validates the token itself.
|
// Instantiate the AuthToken, this validates the token itself.
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
AuthToken authToken = new AuthToken(new String(authTokenChars));
|
AuthToken authToken = new AuthToken(new String(authTokenChars), true);
|
||||||
|
|
||||||
// Instantiate the appropriate IdentityToken based on the IdentityTokenProvider type
|
// Instantiate the appropriate IdentityToken based on the IdentityTokenProvider type
|
||||||
// tbd - For now use the CasaIdentityToken
|
// tbd - For now use the CasaIdentityToken
|
||||||
|
@ -28,7 +28,8 @@ EXTRA_DIST = authtoken.settings \
|
|||||||
svc.settings \
|
svc.settings \
|
||||||
TODO \
|
TODO \
|
||||||
web.xml \
|
web.xml \
|
||||||
crypto.properties
|
crypto.properties \
|
||||||
|
jaas.conf
|
||||||
|
|
||||||
ROOT = ../..
|
ROOT = ../..
|
||||||
|
|
||||||
|
6
CASA-auth-token/java/server/Svc/crypto.properties
Normal file
6
CASA-auth-token/java/server/Svc/crypto.properties
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
|
||||||
|
org.apache.ws.security.crypto.merlin.keystore.type=jks
|
||||||
|
org.apache.ws.security.crypto.merlin.keystore.password=foobar
|
||||||
|
org.apache.ws.security.crypto.merlin.keystore.alias=privkey
|
||||||
|
org.apache.ws.security.crypto.merlin.alias.password=foobar
|
||||||
|
org.apache.ws.security.crypto.merlin.file=/etc/CASA/authtoken.d/java-keys/privkeystore
|
11
CASA-auth-token/java/server/Svc/jaas.conf
Normal file
11
CASA-auth-token/java/server/Svc/jaas.conf
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
other {
|
||||||
|
com.sun.security.auth.module.Krb5LoginModule required
|
||||||
|
useTicketCache=true
|
||||||
|
ticketCache="/var/lib/CASA/authtoken/svc/ticket.cache"
|
||||||
|
useKeyTab=true
|
||||||
|
principal="host/jcserver2.provo.novell.com"
|
||||||
|
doNotPrompt=true
|
||||||
|
storeKey=true
|
||||||
|
keyTab="/etc/krb5.keytab"
|
||||||
|
debug=true;
|
||||||
|
};
|
@ -135,14 +135,27 @@ public class AuthToken
|
|||||||
* Constructor given an authentication token string. The constructor
|
* Constructor given an authentication token string. The constructor
|
||||||
* validates the token as part of its processing.
|
* validates the token as part of its processing.
|
||||||
*/
|
*/
|
||||||
public AuthToken(String token) throws Exception
|
public AuthToken(String token,
|
||||||
|
boolean encodedToken) throws Exception
|
||||||
{
|
{
|
||||||
// Decode the token string
|
// Decode the token string if necessary
|
||||||
m_token = Base64Coder.decode(token);
|
if (encodedToken)
|
||||||
|
m_token = Base64Coder.decode(token);
|
||||||
|
else
|
||||||
|
m_token = token;
|
||||||
|
|
||||||
// Now instantiate a SOAP message with the string
|
// Now instantiate a SOAP message with the string
|
||||||
InputStream inStream = new ByteArrayInputStream(m_token.getBytes());
|
InputStream inStream = new ByteArrayInputStream(m_token.getBytes());
|
||||||
Message message = new Message(inStream);
|
org.apache.axis.Message message;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
message = new Message(inStream);
|
||||||
|
|
||||||
|
} catch (Exception e)
|
||||||
|
{
|
||||||
|
System.err.println("AuthToken()- Exception caught creating message, msg: " + e.getMessage());
|
||||||
|
throw new Exception("Invalid Authentication Token");
|
||||||
|
}
|
||||||
|
|
||||||
// Get access to the SOAP Envelope
|
// Get access to the SOAP Envelope
|
||||||
SOAPEnvelope envelope = message.getSOAPEnvelope();
|
SOAPEnvelope envelope = message.getSOAPEnvelope();
|
||||||
@ -284,16 +297,20 @@ public class AuthToken
|
|||||||
* Validates an authentication token. If successful it
|
* Validates an authentication token. If successful it
|
||||||
* returns a string containing the identity token associated
|
* returns a string containing the identity token associated
|
||||||
* with the authentication token; otherwise it returns NULL;
|
* with the authentication token; otherwise it returns NULL;
|
||||||
|
*
|
||||||
|
* Note, the routine assumes that the token is not encoded.
|
||||||
*/
|
*/
|
||||||
public static String validate(String authTokenString)
|
public static String validate(String authTokenString)
|
||||||
{
|
{
|
||||||
|
System.err.println("AuthToken.validate()- Start");
|
||||||
// Instantiate the AuthToken, this validates the token itself.
|
// Instantiate the AuthToken, this validates the token itself.
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
AuthToken authToken = new AuthToken(authTokenString);
|
AuthToken authToken = new AuthToken(authTokenString, false);
|
||||||
|
|
||||||
// If we are here is because the token validation succeeded,
|
// If we are here is because the token validation succeeded,
|
||||||
// return the identity token string.
|
// return the identity token string.
|
||||||
|
System.err.println("AuthToken.validate()- Returning identity token");
|
||||||
return authToken.getIdentityToken();
|
return authToken.getIdentityToken();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user