You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2007/07/26 14:11:47 UTC
svn commit: r559789 - in
/directory/shared/trunk/asn1/src/main/java/org/apache/directory/shared/asn1/ber:
BERGeneralizedTime.java BERString.java
Author: elecharny
Date: Thu Jul 26 05:11:46 2007
New Revision: 559789
URL: http://svn.apache.org/viewvc?view=rev&rev=559789
Log:
Added BERStringa nd BERGeneralizedTime for Kerberos
Added:
directory/shared/trunk/asn1/src/main/java/org/apache/directory/shared/asn1/ber/BERGeneralizedTime.java
directory/shared/trunk/asn1/src/main/java/org/apache/directory/shared/asn1/ber/BERString.java
Added: directory/shared/trunk/asn1/src/main/java/org/apache/directory/shared/asn1/ber/BERGeneralizedTime.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/asn1/src/main/java/org/apache/directory/shared/asn1/ber/BERGeneralizedTime.java?view=auto&rev=559789
==============================================================================
--- directory/shared/trunk/asn1/src/main/java/org/apache/directory/shared/asn1/ber/BERGeneralizedTime.java (added)
+++ directory/shared/trunk/asn1/src/main/java/org/apache/directory/shared/asn1/ber/BERGeneralizedTime.java Thu Jul 26 05:11:46 2007
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2000 - 2006 The Legion Of The Bouncy Castle (http://www.bouncycastle.org)
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this
+ * software and associated documentation files (the "Software"), to deal in the Software
+ * without restriction, including without limitation the rights to use, copy, modify,
+ * merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all copies
+ * or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+ * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ * PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
+ * FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+package org.apache.directory.shared.asn1.ber;
+
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.TimeZone;
+
+
+/**
+ * DER Generalized time object.
+ */
+public class BERGeneralizedTime extends BERString
+{
+ private static final TimeZone UTC_TIME_ZONE = TimeZone.getTimeZone( "UTC" );
+
+ private static final SimpleDateFormat dateFormat = new SimpleDateFormat( "yyyyMMddHHmmss'Z'" );
+
+ static
+ {
+ dateFormat.setTimeZone( UTC_TIME_ZONE );
+ }
+
+
+ /**
+ * Basic DERObject constructor.
+ */
+ BERGeneralizedTime(byte[] value)
+ {
+ super( value );
+ }
+
+
+ /**
+ * Static factory method, type-conversion operator.
+ */
+ public static BERGeneralizedTime valueOf( Date date )
+ {
+ String dateString = null;
+
+ synchronized ( dateFormat )
+ {
+ dateString = dateFormat.format( date );
+ }
+
+ byte[] bytes = stringToByteArray( dateString );
+
+ return new BERGeneralizedTime( bytes );
+ }
+
+
+ /**
+ * Lazy accessor
+ *
+ * @return Date representation of this BER Generalized Time
+ * @throws ParseException
+ */
+ public long getDate() throws ParseException
+ {
+ long date = 0;
+ int pos = 0;
+
+
+
+ return date;
+ }
+}
Added: directory/shared/trunk/asn1/src/main/java/org/apache/directory/shared/asn1/ber/BERString.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/asn1/src/main/java/org/apache/directory/shared/asn1/ber/BERString.java?view=auto&rev=559789
==============================================================================
--- directory/shared/trunk/asn1/src/main/java/org/apache/directory/shared/asn1/ber/BERString.java (added)
+++ directory/shared/trunk/asn1/src/main/java/org/apache/directory/shared/asn1/ber/BERString.java Thu Jul 26 05:11:46 2007
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2000 - 2006 The Legion Of The Bouncy Castle (http://www.bouncycastle.org)
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this
+ * software and associated documentation files (the "Software"), to deal in the Software
+ * without restriction, including without limitation the rights to use, copy, modify,
+ * merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all copies
+ * or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+ * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ * PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
+ * FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+package org.apache.directory.shared.asn1.ber;
+
+
+import java.io.UnsupportedEncodingException;
+
+
+/**
+ * Interface for DER string objects.
+ */
+public abstract class BERString
+{
+ protected byte[] data;
+
+ /**
+ * Basic BERString constructor.
+ */
+ BERString( byte[] value )
+ {
+ data = value;
+ }
+
+
+ /**
+ * Lazy accessor.
+ *
+ * @return underlying byte array converted to a String
+ */
+ public String getString()
+ {
+ return byteArrayToString( data );
+ }
+
+
+ /**
+ * Utility method for converting byte arrays to Strings.
+ *
+ * @param bytes
+ * @return String
+ */
+ protected static String byteArrayToString( byte[] bytes )
+ {
+ try
+ {
+ return new String( bytes, "UTF-8" );
+ }
+ catch ( UnsupportedEncodingException uee )
+ {
+ return "";
+ }
+ }
+
+
+ /**
+ * Utility method for converting Strings to bytes.
+ *
+ * @param string
+ * @return bytes
+ */
+ protected static byte[] stringToByteArray( String string )
+ {
+ try
+ {
+ return string.getBytes( "UTF-8" );
+ }
+ catch ( UnsupportedEncodingException uee )
+ {
+ return new byte[]
+ {};
+ }
+ }
+}