diff options
Diffstat (limited to 'pki/base/util/src/netscape/security/extensions/PresenceServerExtension.java')
-rw-r--r-- | pki/base/util/src/netscape/security/extensions/PresenceServerExtension.java | 393 |
1 files changed, 217 insertions, 176 deletions
diff --git a/pki/base/util/src/netscape/security/extensions/PresenceServerExtension.java b/pki/base/util/src/netscape/security/extensions/PresenceServerExtension.java index 52b0cbd13..084e1d696 100644 --- a/pki/base/util/src/netscape/security/extensions/PresenceServerExtension.java +++ b/pki/base/util/src/netscape/security/extensions/PresenceServerExtension.java @@ -33,7 +33,8 @@ import netscape.security.util.ObjectIdentifier; import netscape.security.x509.CertAttrSet; import netscape.security.x509.Extension; -public class PresenceServerExtension extends Extension implements CertAttrSet { +public class PresenceServerExtension extends Extension implements CertAttrSet +{ /** * */ @@ -52,150 +53,173 @@ public class PresenceServerExtension extends Extension implements CertAttrSet { public static final String OID = "2.16.840.1.113730.1.18"; - /* - * public PresenceServerExtension() { } - */ - - public PresenceServerExtension(Boolean critical, Object value) - throws IOException { - this.extensionId = new ObjectIdentifier(OID); - this.critical = critical.booleanValue(); - this.extensionValue = (byte[]) ((byte[]) value).clone(); - decodeThis(); - } - - public PresenceServerExtension(boolean critical, int version, - String streetAddress, String telephoneNumber, String rfc822Name, - String ID, String hostName, int portNumber, int maxUsers, - int serviceLevel) throws IOException { - mCritical = critical; - mVersion = version; - mStreetAddress = streetAddress; - mTelephoneNumber = telephoneNumber; - mRFC822Name = rfc822Name; - mID = ID; - mHostName = hostName; - mPortNumber = portNumber; - mMaxUsers = maxUsers; - mServiceLevel = serviceLevel; - - this.extensionId = new ObjectIdentifier(OID); - this.critical = mCritical; - encodeThis(); - } - - public int getVersion() { - return mVersion; - } - - public String getStreetAddress() { - return mStreetAddress; +/* + public PresenceServerExtension() + { } +*/ - public String getTelephoneNumber() { - return mTelephoneNumber; - } - - public String getRFC822() { - return mRFC822Name; - } - - public String getID() { - return mID; - } - - public String getHostName() { - return mHostName; - } - - public int getPortNumber() { - return mPortNumber; - } - - public int getMaxUsers() { - return mMaxUsers; - } - - public int getServiceLevel() { - return mServiceLevel; + public PresenceServerExtension(Boolean critical, Object value) + throws IOException { + this.extensionId = new ObjectIdentifier(OID); + this.critical = critical.booleanValue(); + this.extensionValue = (byte[]) ((byte[]) value).clone(); + decodeThis(); + } + + public PresenceServerExtension( + boolean critical, + int version, + String streetAddress, + String telephoneNumber, + String rfc822Name, + String ID, + String hostName, + int portNumber, + int maxUsers, + int serviceLevel) + throws IOException + { + mCritical = critical; + mVersion = version; + mStreetAddress = streetAddress; + mTelephoneNumber = telephoneNumber; + mRFC822Name = rfc822Name; + mID = ID; + mHostName = hostName; + mPortNumber = portNumber; + mMaxUsers = maxUsers; + mServiceLevel = serviceLevel; + + this.extensionId = new ObjectIdentifier(OID); + this.critical = mCritical; + encodeThis(); } - public void encodeThis() throws IOException { - DerOutputStream out = new DerOutputStream(); - DerOutputStream temp = new DerOutputStream(); - temp.putInteger(new BigInt(mVersion)); - temp.putOctetString(mStreetAddress.getBytes()); - temp.putOctetString(mTelephoneNumber.getBytes()); - temp.putOctetString(mRFC822Name.getBytes()); - temp.putOctetString(mID.getBytes()); - temp.putOctetString(mHostName.getBytes()); - temp.putInteger(new BigInt(mPortNumber)); - temp.putInteger(new BigInt(mMaxUsers)); - temp.putInteger(new BigInt(mServiceLevel)); - out.write(DerValue.tag_Sequence, temp); - this.extensionValue = out.toByteArray(); + public int getVersion() + { + return mVersion; + } + + public String getStreetAddress() + { + return mStreetAddress; + } + + public String getTelephoneNumber() + { + return mTelephoneNumber; + } + + public String getRFC822() + { + return mRFC822Name; + } + + public String getID() + { + return mID; + } + + public String getHostName() + { + return mHostName; + } + + public int getPortNumber() + { + return mPortNumber; + } + + public int getMaxUsers() + { + return mMaxUsers; + } + + public int getServiceLevel() + { + return mServiceLevel; + } + + public void encodeThis() throws IOException + { + DerOutputStream out = new DerOutputStream(); + DerOutputStream temp = new DerOutputStream(); + temp.putInteger(new BigInt(mVersion)); + temp.putOctetString(mStreetAddress.getBytes()); + temp.putOctetString(mTelephoneNumber.getBytes()); + temp.putOctetString(mRFC822Name.getBytes()); + temp.putOctetString(mID.getBytes()); + temp.putOctetString(mHostName.getBytes()); + temp.putInteger(new BigInt(mPortNumber)); + temp.putInteger(new BigInt(mMaxUsers)); + temp.putInteger(new BigInt(mServiceLevel)); + out.write(DerValue.tag_Sequence, temp); + this.extensionValue = out.toByteArray(); } - public void decodeThis() throws IOException { - DerInputStream val = new DerInputStream(this.extensionValue); - byte data[] = null; - DerValue seq[] = val.getSequence(0); + public void decodeThis() throws IOException + { + DerInputStream val = new DerInputStream(this.extensionValue); + byte data[] = null; + DerValue seq[] = val.getSequence(0); mVersion = seq[0].getInteger().toInt(); - data = null; - if (seq[1].length() > 0) { - data = seq[1].getOctetString(); - } - if (data == null) { - mStreetAddress = ""; - } else { - mStreetAddress = new String(data); - } - data = null; - if (seq[2].length() > 0) - data = seq[2].getOctetString(); - if (data == null) { - mTelephoneNumber = ""; - } else { - mTelephoneNumber = new String(data); - } - data = null; - if (seq[3].length() > 0) - data = seq[3].getOctetString(); - if (data == null) { - mRFC822Name = ""; - } else { - mRFC822Name = new String(data); - } - data = null; - if (seq[4].length() > 0) - data = seq[4].getOctetString(); - if (data == null) { - mID = ""; - } else { - mID = new String(data); - } - data = null; - if (seq[5].length() > 0) - data = seq[5].getOctetString(); - if (data == null) { - mHostName = ""; - } else { - mHostName = new String(data); - } + data = null; + if (seq[1].length() > 0) { + data = seq[1].getOctetString(); + } + if (data == null) { + mStreetAddress = ""; + } else { + mStreetAddress = new String(data); + } + data = null; + if (seq[2].length() > 0) + data = seq[2].getOctetString(); + if (data == null) { + mTelephoneNumber = ""; + } else { + mTelephoneNumber = new String(data); + } + data = null; + if (seq[3].length() > 0) + data = seq[3].getOctetString(); + if (data == null) { + mRFC822Name = ""; + } else { + mRFC822Name = new String(data); + } + data = null; + if (seq[4].length() > 0) + data = seq[4].getOctetString(); + if (data == null) { + mID = ""; + } else { + mID = new String(data); + } + data = null; + if (seq[5].length() > 0) + data = seq[5].getOctetString(); + if (data == null) { + mHostName = ""; + } else { + mHostName = new String(data); + } mPortNumber = seq[6].getInteger().toInt(); mMaxUsers = seq[7].getInteger().toInt(); mServiceLevel = seq[8].getInteger().toInt(); } - public void decode(InputStream in) throws CertificateException, IOException { + public void decode(InputStream in) + throws CertificateException, IOException { } - public void encode(OutputStream out) throws CertificateException, - IOException { - DerOutputStream dos = new DerOutputStream(); - super.encode(dos); - out.write(dos.toByteArray()); + public void encode(OutputStream out) + throws CertificateException, IOException { + DerOutputStream dos = new DerOutputStream(); + super.encode(dos); + out.write(dos.toByteArray()); } /** @@ -219,74 +243,91 @@ public class PresenceServerExtension extends Extension implements CertAttrSet { throw new IOException("Method not to be called directly."); } - public Enumeration getElements() { - return null; + public Enumeration getElements () { + return null; } /** * Return the name of this attribute. */ - public String getName() { - return "PresenceServerExtension"; + public String getName () { + return "PresenceServerExtension"; } /** * Set the name of this attribute. */ - public void setName(String name) { + public void setName (String name) { } /** * Return the OID of this attribute. */ - public String getOID() { - return OID; + public String getOID () { + return OID; } /** * Set the OID of this attribute. */ - public void setOID(String oid) { + public void setOID (String oid) { } - public static void main(String args[]) throws Exception { - /* - * 0 30 115: SEQUENCE { 2 06 9: OBJECT IDENTIFIER '2 16 840 1 113730 1 - * 100' 13 04 102: OCTET STRING, encapsulates { 15 30 100: SEQUENCE { 17 - * 02 1: INTEGER 0 20 04 31: OCTET STRING : 34 30 31 45 20 4D 69 64 64 - * 6C 65 66 69 65 6C 64 : 20 52 64 2E 2C 4D 56 2C 43 41 39 34 30 34 31 - * 53 04 12: OCTET STRING : 36 35 30 2D 31 31 31 2D 31 31 31 31 67 04 - * 18: OCTET STRING : 61 64 6D 69 6E 40 6E 65 74 73 63 61 70 65 2E 63 : - * 6F 6D 87 04 10: OCTET STRING : 70 73 2D 63 61 70 69 74 6F 6C 99 04 7: - * OCTET STRING : 63 61 70 69 74 6F 6C 108 02 1: INTEGER 80 111 02 1: - * INTEGER 10 114 02 1: INTEGER 1 : } : } : } - */ - boolean critical = false; - int version = 1; - String streetAddress = "401E Middlefield Rd.,MV,CA94041"; - String telephoneNumber = "650-111-1111"; - String rfc822Name = "admin@netscape.com"; - String ID = "ps-capitol"; - String hostName = "capitol"; - int portNumber = 80; - int maxUsers = 10; - int serviceLevel = 1; - - PresenceServerExtension ext = new PresenceServerExtension(critical, - version, streetAddress, telephoneNumber, rfc822Name, ID, - hostName, portNumber, maxUsers, serviceLevel); - - // encode - - ByteArrayOutputStream dos = new ByteArrayOutputStream(); - ext.encode(dos); - FileOutputStream fos = new FileOutputStream("pse.der"); - fos.write(dos.toByteArray()); - fos.close(); - - Extension ext1 = new Extension(new DerValue(dos.toByteArray())); - PresenceServerExtension ext2 = new PresenceServerExtension(new Boolean( - false), ext1.getExtensionValue()); + public static void main(String args[]) throws Exception + { +/* + 0 30 115: SEQUENCE { + 2 06 9: OBJECT IDENTIFIER '2 16 840 1 113730 1 100' + 13 04 102: OCTET STRING, encapsulates { + 15 30 100: SEQUENCE { + 17 02 1: INTEGER 0 + 20 04 31: OCTET STRING + : 34 30 31 45 20 4D 69 64 64 6C 65 66 69 65 6C 64 + : 20 52 64 2E 2C 4D 56 2C 43 41 39 34 30 34 31 + 53 04 12: OCTET STRING + : 36 35 30 2D 31 31 31 2D 31 31 31 31 + 67 04 18: OCTET STRING + : 61 64 6D 69 6E 40 6E 65 74 73 63 61 70 65 2E 63 + : 6F 6D + 87 04 10: OCTET STRING + : 70 73 2D 63 61 70 69 74 6F 6C + 99 04 7: OCTET STRING + : 63 61 70 69 74 6F 6C + 108 02 1: INTEGER 80 + 111 02 1: INTEGER 10 + 114 02 1: INTEGER 1 + : } + : } + : } + */ + boolean critical = false; + int version = 1; + String streetAddress = "401E Middlefield Rd.,MV,CA94041"; + String telephoneNumber = "650-111-1111"; + String rfc822Name = "admin@netscape.com"; + String ID = "ps-capitol"; + String hostName = "capitol"; + int portNumber = 80; + int maxUsers = 10; + int serviceLevel = 1; + + PresenceServerExtension ext = new PresenceServerExtension( + critical, + version, streetAddress, telephoneNumber, + rfc822Name, ID, hostName, portNumber, + maxUsers, serviceLevel); + + // encode + + ByteArrayOutputStream dos = new ByteArrayOutputStream(); + ext.encode(dos); + FileOutputStream fos = new FileOutputStream("pse.der"); + fos.write(dos.toByteArray()); + fos.close(); + + Extension ext1 = new Extension(new DerValue(dos.toByteArray())); + PresenceServerExtension ext2 = new PresenceServerExtension( + new Boolean(false), ext1.getExtensionValue()); } } |