| java.lang.Object sun.security.x509.IPAddressName
IPAddressName | public class IPAddressName implements GeneralNameInterface(Code) | | This class implements the IPAddressName as required by the GeneralNames
ASN.1 object. Both IPv4 and IPv6 addresses are supported using the
formats specified in IETF PKIX RFC2459.
[RFC2459 4.2.1.7 Subject Alternative Name]
When the subjectAltName extension contains a iPAddress, the address
MUST be stored in the octet string in "network byte order," as
specified in RFC 791. The least significant bit (LSB) of
each octet is the LSB of the corresponding byte in the network
address. For IP Version 4, as specified in RFC 791, the octet string
MUST contain exactly four octets. For IP Version 6, as specified in
RFC 1883, the octet string MUST contain exactly sixteen octets.
[RFC2459 4.2.1.11 Name Constraints]
The syntax of iPAddress MUST be as described in section 4.2.1.7 with
the following additions specifically for Name Constraints. For IPv4
addresses, the ipAddress field of generalName MUST contain eight (8)
octets, encoded in the style of RFC 1519 (CIDR) to represent an
address range.[RFC 1519] For IPv6 addresses, the ipAddress field
MUST contain 32 octets similarly encoded. For example, a name
constraint for "class C" subnet 10.9.8.0 shall be represented as the
octets 0A 09 08 00 FF FF FF 00, representing the CIDR notation
10.9.8.0/255.255.255.0.
See Also: GeneralName See Also: GeneralNameInterface See Also: GeneralNames version: 1.8 author: Amit Kapoor author: Hemma Prafullchandra |
Constructor Summary | |
public | IPAddressName(DerValue derValue) Create the IPAddressName object from the passed encoded Der value. | public | IPAddressName(byte[] address) Create the IPAddressName object with the specified octets. | public | IPAddressName(String name) Create an IPAddressName from a String.
[IETF RFC1338 Supernetting & IETF RFC1519 Classless Inter-Domain
Routing (CIDR)] For IPv4 addresses, the forms are
"b1.b2.b3.b4" or "b1.b2.b3.b4/m1.m2.m3.m4", where b1 - b4 are decimal
byte values 0-255 and m1 - m4 are decimal mask values
0 - 255.
[IETF RFC2373 IP Version 6 Addressing Architecture]
For IPv6 addresses, the forms are "a1:a2:...:a8" or "a1:a2:...:a8/n",
where a1-a8 are hexadecimal values representing the eight 16-bit pieces
of the address. |
Method Summary | |
public int | constrains(GeneralNameInterface inputName) Return type of constraint inputName places on this name:
- NAME_DIFF_TYPE = -1: input name is different type from name
(i.e.
| public void | encode(DerOutputStream out) Encode the IPAddress name into the DerOutputStream. | public boolean | equals(Object obj) Compares this name with another, for equality. | public byte[] | getBytes() Returns this IPAddress name as a byte array. | public String | getName() Return a standard String representation of IPAddress. | public int | getType() Return the type of the GeneralName. | public int | hashCode() Returns the hash code value for this object. | public int | subtreeDepth() Return subtree depth of this name for purposes of determining
NameConstraints minimum and maximum bounds and for calculating
path lengths in name subtrees. | public String | toString() |
IPAddressName | public IPAddressName(byte[] address) throws IOException(Code) | | Create the IPAddressName object with the specified octets.
throws: IOException - if address is not a valid IPv4 or IPv6 address |
IPAddressName | public IPAddressName(String name) throws IOException(Code) | | Create an IPAddressName from a String.
[IETF RFC1338 Supernetting & IETF RFC1519 Classless Inter-Domain
Routing (CIDR)] For IPv4 addresses, the forms are
"b1.b2.b3.b4" or "b1.b2.b3.b4/m1.m2.m3.m4", where b1 - b4 are decimal
byte values 0-255 and m1 - m4 are decimal mask values
0 - 255.
[IETF RFC2373 IP Version 6 Addressing Architecture]
For IPv6 addresses, the forms are "a1:a2:...:a8" or "a1:a2:...:a8/n",
where a1-a8 are hexadecimal values representing the eight 16-bit pieces
of the address. If /n is used, n is a decimal number indicating how many
of the leftmost contiguous bits of the address comprise the prefix for
this subnet. Internally, a mask value is created using the prefix length.
Parameters: name - String form of IPAddressName throws: IOException - if name can not be converted to a valid IPv4 or IPv6address |
constrains | public int constrains(GeneralNameInterface inputName) throws UnsupportedOperationException(Code) | | Return type of constraint inputName places on this name:
- NAME_DIFF_TYPE = -1: input name is different type from name
(i.e. does not constrain).
- NAME_MATCH = 0: input name matches name.
- NAME_NARROWS = 1: input name narrows name (is lower in the naming
subtree)
- NAME_WIDENS = 2: input name widens name (is higher in the naming
subtree)
- NAME_SAME_TYPE = 3: input name does not match or narrow name, but
is same type.
. These results are used in checking NameConstraints during
certification path verification.
[RFC2459] The syntax of iPAddress MUST be as described in section
4.2.1.7 with the following additions specifically for Name Constraints.
For IPv4 addresses, the ipAddress field of generalName MUST contain
eight (8) octets, encoded in the style of RFC 1519 (CIDR) to represent an
address range.[RFC 1519] For IPv6 addresses, the ipAddress field
MUST contain 32 octets similarly encoded. For example, a name
constraint for "class C" subnet 10.9.8.0 shall be represented as the
octets 0A 09 08 00 FF FF FF 00, representing the CIDR notation
10.9.8.0/255.255.255.0.
Parameters: inputName - to be checked for being constrained throws: UnsupportedOperationException - if name is not exact match, but narrowing and widening are not supported for this name type. |
equals | public boolean equals(Object obj)(Code) | | Compares this name with another, for equality.
true iff the names are identical. |
getBytes | public byte[] getBytes()(Code) | | Returns this IPAddress name as a byte array.
|
getName | public String getName() throws IOException(Code) | | Return a standard String representation of IPAddress.
See IPAddressName(String) for the formats used for IPv4
and IPv6 addresses.
throws: IOException - if the IPAddress cannot be converted to a String |
getType | public int getType()(Code) | | Return the type of the GeneralName.
|
hashCode | public int hashCode()(Code) | | Returns the hash code value for this object.
a hash code value for this object. |
toString | public String toString()(Code) | | Return a printable string of IPaddress
|
|
|