You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ha...@apache.org on 2002/01/15 02:15:24 UTC
cvs commit: jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl AbstractServer.java DefaultAuthenticator.java
hammant 02/01/14 17:15:24
Modified: altrmi/src/java/org/apache/commons/altrmi/client
AltrmiInterfaceLookup.java
altrmi/src/java/org/apache/commons/altrmi/client/impl
AbstractAltrmiFactory.java
altrmi/src/java/org/apache/commons/altrmi/common
AltrmiReply.java AltrmiRequest.java
altrmi/src/java/org/apache/commons/altrmi/server
AltrmiAuthenticator.java
altrmi/src/java/org/apache/commons/altrmi/server/impl
AbstractServer.java DefaultAuthenticator.java
Added: altrmi/src/java/org/apache/commons/altrmi/common
KeyAuthentication.java OpenConnectionReply.java
OpenConnectionRequest.java
Log:
more work on authentication
Revision Changes Path
1.5 +10 -1 jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/client/AltrmiInterfaceLookup.java
Index: AltrmiInterfaceLookup.java
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/client/AltrmiInterfaceLookup.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- AltrmiInterfaceLookup.java 14 Jan 2002 23:03:30 -0000 1.4
+++ AltrmiInterfaceLookup.java 15 Jan 2002 01:15:23 -0000 1.5
@@ -20,7 +20,7 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.4 $
+ * @version $Revision: 1.5 $
*/
public interface AltrmiInterfaceLookup {
@@ -51,4 +51,13 @@
*/
Object lookup(String publishedServiceName, AltrmiAuthentication altrmiAuthentication)
throws AltrmiConnectionException;
+
+ /**
+ * Method getTextToSignForAuthentication
+ *
+ *
+ * @return
+ *
+ */
+ String getTextToSignForAuthentication();
}
1.5 +27 -1 jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/client/impl/AbstractAltrmiFactory.java
Index: AbstractAltrmiFactory.java
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/client/impl/AbstractAltrmiFactory.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- AbstractAltrmiFactory.java 14 Jan 2002 23:03:30 -0000 1.4
+++ AbstractAltrmiFactory.java 15 Jan 2002 01:15:24 -0000 1.5
@@ -13,6 +13,11 @@
import org.apache.commons.altrmi.client.AltrmiFactory;
import org.apache.commons.altrmi.client.AltrmiHostContext;
import org.apache.commons.altrmi.common.AltrmiConnectionException;
+import org.apache.commons.altrmi.common.AltrmiReply;
+import org.apache.commons.altrmi.common.LookupRequest;
+import org.apache.commons.altrmi.common.OpenConnectionRequest;
+import org.apache.commons.altrmi.common.AltrmiInvocationException;
+import org.apache.commons.altrmi.common.OpenConnectionReply;
import java.util.HashMap;
@@ -22,7 +27,7 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.4 $
+ * @version $Revision: 1.5 $
*/
public abstract class AbstractAltrmiFactory implements AltrmiFactory {
@@ -30,6 +35,7 @@
protected final HashMap mObjRefs = new HashMap();
protected final HashMap mRefObjs = new HashMap();
private final boolean mBeanOnly;
+ private String mTextToSign;
/**
* Constructor AbstractAltrmiFactory
@@ -67,6 +73,16 @@
if (mHostContext == null) {
mHostContext = hostContext;
}
+
+ AltrmiReply ar = mHostContext.getInvocationHandler().handleInvocation(new OpenConnectionRequest());
+ if (ar instanceof OpenConnectionReply) {
+ mTextToSign = ((OpenConnectionReply) ar).getTextToSign();
+ } else {
+ //TODO
+ }
+
+
+
}
/**
@@ -145,4 +161,14 @@
return lookup(publishedServiceName, null);
}
+ /**
+ * Method getTextToSignForAuthentication
+ *
+ *
+ * @return
+ *
+ */
+ public String getTextToSignForAuthentication() {
+ return mTextToSign;
+ }
}
1.2 +2 -1 jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/common/AltrmiReply.java
Index: AltrmiReply.java
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/common/AltrmiReply.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AltrmiReply.java 9 Jan 2002 19:25:54 -0000 1.1
+++ AltrmiReply.java 15 Jan 2002 01:15:24 -0000 1.2
@@ -17,7 +17,7 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
*/
public abstract class AltrmiReply implements Serializable {
@@ -28,6 +28,7 @@
public static final int EXCEPTIONREPLY = 3;
public static final int LOOKUPREPLY = 4;
public static final int METHODFACADEREPLY = 5;
+ public static final int OPENCONNECTIONREPLY = 6;
// 'bad' replies after 100
1.2 +2 -1 jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/common/AltrmiRequest.java
Index: AltrmiRequest.java
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/common/AltrmiRequest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AltrmiRequest.java 9 Jan 2002 19:25:54 -0000 1.1
+++ AltrmiRequest.java 15 Jan 2002 01:15:24 -0000 1.2
@@ -17,7 +17,7 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
*/
public abstract class AltrmiRequest implements Serializable {
@@ -25,6 +25,7 @@
public static final int METHODREQUEST = 302;
public static final int METHODFACADEREQUEST = 303;
public static final int LOOKUPREQUEST = 304;
+ public static final int OPENCONNECTIONREQUEST = 305;
/**
* Constructor AltrmiRequest
1.1 jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/common/KeyAuthentication.java
Index: KeyAuthentication.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.commons.altrmi.common;
/**
* Class KeyAuthentication
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
* @version $Revision: 1.1 $
*/
public final class KeyAuthentication extends AltrmiAuthentication {
private final String mPublicKey;
private final String mSignedText;
/**
* Constructor KeyAuthentication
*
*
* @param publicKey
* @param signedText
*
*/
public KeyAuthentication(String publicKey, String signedText) {
mPublicKey = publicKey;
mSignedText = signedText;
}
/**
* Method getPublicKey
*
*
* @return
*
*/
public String getPublicKey() {
return mPublicKey;
}
/**
* Method getSignedText
*
*
* @return
*
*/
public String getSignedText() {
return mSignedText;
}
}
1.1 jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/common/OpenConnectionReply.java
Index: OpenConnectionReply.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.commons.altrmi.common;
/**
* Class OpenConnectionReply
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
* @version $Revision: 1.1 $
*/
public final class OpenConnectionReply extends AltrmiReply {
private final String mTextToSign;
/**
* Constructor OpenConnectionReply
*
*
* @param stringToSign
*
*/
public OpenConnectionReply(String textToSign) {
mTextToSign = textToSign;
}
/**
* Method getReplyCode. This is quicker than instanceof for type checking.
*
*
* @return
*
*/
public int getReplyCode() {
return OPENCONNECTIONREPLY;
}
/**
* Method getTextToSign
*
*
* @return
*
*/
public String getTextToSign() {
return mTextToSign;
}
}
1.1 jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/common/OpenConnectionRequest.java
Index: OpenConnectionRequest.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.commons.altrmi.common;
/**
* Class OpenConnectionRequest
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
* @version $Revision: 1.1 $
*/
public final class OpenConnectionRequest extends AltrmiRequest {
/**
* Method getRequestCode. This is quicker than instanceof for type checking.
*
*
* @return
*
*/
public int getRequestCode() {
return OPENCONNECTIONREQUEST;
}
}
1.2 +34 -1 jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/AltrmiAuthenticator.java
Index: AltrmiAuthenticator.java
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/AltrmiAuthenticator.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AltrmiAuthenticator.java 14 Jan 2002 23:03:30 -0000 1.1
+++ AltrmiAuthenticator.java 15 Jan 2002 01:15:24 -0000 1.2
@@ -1,3 +1,4 @@
+
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
@@ -7,10 +8,42 @@
*/
package org.apache.commons.altrmi.server;
+
+
import org.apache.commons.altrmi.common.AltrmiAuthentication;
import org.apache.commons.altrmi.common.AltrmiAuthenticationException;
+
+/**
+ * Interface AltrmiAuthenticator
+ *
+ *
+ * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
+ * @version * $Revision: 1.2 $
+ */
public interface AltrmiAuthenticator {
- Long checkAuthority(AltrmiAuthentication auth, String publishedService) throws AltrmiAuthenticationException;
+ /**
+ * Method checkAuthority
+ *
+ *
+ * @param auth
+ * @param publishedService
+ *
+ * @return
+ *
+ * @throws AltrmiAuthenticationException
+ *
+ */
+ Long checkAuthority(AltrmiAuthentication auth, String publishedService)
+ throws AltrmiAuthenticationException;
+
+ /**
+ * Method getTextToSign
+ *
+ *
+ * @return
+ *
+ */
+ String getTextToSign();
}
1.5 +4 -1 jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/AbstractServer.java
Index: AbstractServer.java
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/AbstractServer.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- AbstractServer.java 14 Jan 2002 23:03:30 -0000 1.4
+++ AbstractServer.java 15 Jan 2002 01:15:24 -0000 1.5
@@ -32,6 +32,7 @@
import org.apache.commons.altrmi.common.MethodReply;
import org.apache.commons.altrmi.common.AltrmiAuthenticationException;
import org.apache.commons.altrmi.common.AltrmiInvocationException;
+import org.apache.commons.altrmi.common.OpenConnectionReply;
import org.apache.commons.altrmi.server.AltrmiClassRetrievalException;
import org.apache.commons.altrmi.server.ClassRetriever;
import org.apache.commons.altrmi.server.AltrmiServerInvocationHandler;
@@ -51,7 +52,7 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.4 $
+ * @version $Revision: 1.5 $
*/
public abstract class AbstractServer extends AbstractMethodHandler implements AltrmiServer {
@@ -336,6 +337,8 @@
return new RequestFailedReply(e.getMessage());
}
+ } else if (request.getRequestCode() == AltrmiRequest.OPENCONNECTIONREQUEST) {
+ return new OpenConnectionReply(mAltrmiAuthenticator.getTextToSign());
} else {
return new RequestFailedReply("Unknown request :" + request.getClass().getName());
}
1.2 +12 -1 jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/DefaultAuthenticator.java
Index: DefaultAuthenticator.java
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/DefaultAuthenticator.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- DefaultAuthenticator.java 14 Jan 2002 23:03:30 -0000 1.1
+++ DefaultAuthenticator.java 15 Jan 2002 01:15:24 -0000 1.2
@@ -20,7 +20,7 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
*/
public class DefaultAuthenticator implements AltrmiAuthenticator {
@@ -44,5 +44,16 @@
// approve everything and set session identifier.
return new Long (( SESSION++ * (2^31) ) + Math.round(Math.random()));
+ }
+
+ /**
+ * Method getTextToSign
+ *
+ *
+ * @return
+ *
+ */
+ public String getTextToSign() {
+ return "random" + Math.random() + "-" + Math.random() + "-" + Math.random() + "!";
}
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>