You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by er...@apache.org on 2004/10/21 13:03:27 UTC

svn commit: rev 55217 - incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/kdc/store

Author: erodriguez
Date: Thu Oct 21 04:03:25 2004
New Revision: 55217

Added:
   incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/kdc/store/PrincipalStore.java
   incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/kdc/store/PrincipalStoreEntry.java
   incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/kdc/store/PrincipalStoreEntryModifier.java
Log:
New model for storing principal data, modeled after krb5-kdc.schema.

Added: incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/kdc/store/PrincipalStore.java
==============================================================================
--- (empty file)
+++ incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/kdc/store/PrincipalStore.java	Thu Oct 21 04:03:25 2004
@@ -0,0 +1,26 @@
+/*
+ *   Copyright 2004 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+package org.apache.kerberos.kdc.store;
+
+import org.apache.kerberos.kdc.*;
+import org.apache.kerberos.messages.value.*;
+
+public interface PrincipalStore {
+	public void init();
+	public PrincipalStoreEntry getEntry(PrincipalName name) throws KerberosException;
+}
+

Added: incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/kdc/store/PrincipalStoreEntry.java
==============================================================================
--- (empty file)
+++ incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/kdc/store/PrincipalStoreEntry.java	Thu Oct 21 04:03:25 2004
@@ -0,0 +1,93 @@
+/*
+ *   Copyright 2004 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+package org.apache.kerberos.kdc.store;
+
+import org.apache.kerberos.crypto.encryption.*;
+import org.apache.kerberos.messages.value.*;
+
+public class PrincipalStoreEntry {
+	
+	// 'Principal'
+	private String _commonName;
+	private String _principalName;
+	private String _principalRealm;
+	
+	// 'KDCEntry'
+	private KerberosTime  _validStart;
+	private KerberosTime  _validEnd;
+	private KerberosTime  _passwordEnd;
+	private int           _maxLife;
+	private int           _maxRenew;
+	private int           _kdcFlags;
+	private EncryptionKey _key;
+	
+	private String _realmName;
+	
+	PrincipalStoreEntry(String commonName, String principalName, String principalRealm,
+			int keyVersionNumber, KerberosTime validStart, KerberosTime validEnd,
+			KerberosTime passwordEnd, int maxLife, int maxRenew, int kdcFlags,
+			int keyType, byte[] key, String realmName) {
+		
+		_commonName       = commonName;
+		_principalName    = principalName;
+		_principalRealm   = principalRealm;
+		_validStart       = validStart;
+		_validEnd         = validEnd;
+		_passwordEnd      = passwordEnd;
+		_maxLife          = maxLife;
+		_maxRenew         = maxRenew;
+		_kdcFlags         = kdcFlags;
+		_realmName        = realmName;
+		
+		_key = new EncryptionKey(EncryptionType.getTypeByOrdinal(keyType), key, keyVersionNumber);
+	}
+	
+	public String getCommonName() {
+		return _commonName;
+	}
+	public EncryptionKey getEncryptionKey() {
+		return _key;
+	}
+	public int getKDCFlags() {
+		return _kdcFlags;
+	}
+	public int getMaxLife() {
+		return _maxLife;
+	}
+	public int getMaxRenew() {
+		return _maxRenew;
+	}
+	public KerberosTime getPasswordEnd() {
+		return _passwordEnd;
+	}
+	public String getPrincipalName() {
+		return _principalName;
+	}
+	public String getPrincipalRealm() {
+		return _principalRealm;
+	}
+	public String getRealmName() {
+		return _realmName;
+	}
+	public KerberosTime getValidEnd() {
+		return _validEnd;
+	}
+	public KerberosTime getValidStart() {
+		return _validStart;
+	}
+}
+

Added: incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/kdc/store/PrincipalStoreEntryModifier.java
==============================================================================
--- (empty file)
+++ incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/kdc/store/PrincipalStoreEntryModifier.java	Thu Oct 21 04:03:25 2004
@@ -0,0 +1,88 @@
+/*
+ *   Copyright 2004 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+package org.apache.kerberos.kdc.store;
+
+import org.apache.kerberos.messages.value.*;
+
+public class PrincipalStoreEntryModifier {
+	
+	// 'Principal'
+	private String _commonName;
+	private String _principalName;
+	private String _principalRealm;
+	
+	// 'KDCEntry'
+	private int _keyVersionNumber; // must
+	// may
+	private KerberosTime _validStart;
+	private KerberosTime _validEnd;
+	private KerberosTime _passwordEnd;
+	private int          _maxLife;
+	private int          _maxRenew;
+	private int          _kdcFlags;
+	private int          _encryptionType;
+	private byte[]       _key;
+	
+	private String _realmName;
+	
+	public PrincipalStoreEntry getEntry() {
+		return new PrincipalStoreEntry(_commonName, _principalName, _principalRealm,
+				_keyVersionNumber, _validStart, _validEnd, _passwordEnd, _maxLife, _maxRenew,
+				_kdcFlags, _encryptionType, _key, _realmName);
+	}
+
+	public void setCommonName(String commonName) {
+		_commonName = commonName;
+	}
+	public void setEncryptionType(int encryptionType) {
+		_encryptionType = encryptionType;
+	}
+	public void setKDCFlags(int kdcFlags) {
+		_kdcFlags = kdcFlags;
+	}
+	public void setKey(byte[] key) {
+		_key = key;
+	}
+	public void setKeyVersionNumber(int keyVersionNumber) {
+		_keyVersionNumber = keyVersionNumber;
+	}
+	public void setMaxLife(int maxLife) {
+		_maxLife = maxLife;
+	}
+	public void setMaxRenew(int maxRenew) {
+		_maxRenew = maxRenew;
+	}
+	public void setPasswordEnd(KerberosTime passwordEnd) {
+		_passwordEnd = passwordEnd;
+	}
+	public void setPrincipalName(String principalName) {
+		_principalName = principalName;
+	}
+	public void setPrincipalRealm(String principalRealm) {
+		_principalRealm = principalRealm;
+	}
+	public void setRealmName(String realmName) {
+		_realmName = realmName;
+	}
+	public void setValidEnd(KerberosTime validEnd) {
+		_validEnd = validEnd;
+	}
+	public void setValidStart(KerberosTime validStart) {
+		_validStart = validStart;
+	}
+}
+