亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ava.java

?? This is a resource based on j2me embedded,if you dont understand,you can connection with me .
?? JAVA
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
/* * @(#)AVA.java	1.35 06/10/10 * * Copyright  1990-2008 Sun Microsystems, Inc. All Rights Reserved.   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER   *    * This program is free software; you can redistribute it and/or   * modify it under the terms of the GNU General Public License version   * 2 only, as published by the Free Software Foundation.    *    * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU   * General Public License version 2 for more details (a copy is   * included at /legal/license.txt).    *    * You should have received a copy of the GNU General Public License   * version 2 along with this work; if not, write to the Free Software   * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA   * 02110-1301 USA    *    * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa   * Clara, CA 95054 or visit www.sun.com if you need additional   * information or have any questions.  * */package sun.security.x509;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.OutputStream;import java.io.Reader;import java.util.Map;import java.util.HashMap;import java.util.ArrayList;import java.util.Locale;import sun.text.Normalizer;import sun.security.util.*;import sun.security.pkcs.PKCS9Attribute;/** * X.500 Attribute-Value-Assertion (AVA):  an attribute, as identified by * some attribute ID, has some particular value.  Values are as a rule ASN.1 * printable strings.  A conventional set of type IDs is recognized when * parsing (and generating) RFC 1779 or RFC 2253 syntax strings. * * <P>AVAs are components of X.500 relative names.  Think of them as being * individual fields of a database record.  The attribute ID is how you * identify the field, and the value is part of a particular record. * <p> * Note that instances of this class are immutable. * * @see X500Name * @see RDN * * @version 1.35, 10/10/06 * * @author David Brownell * @author Amit Kapoor * @author Hemma Prafullchandra */public class AVA implements DerEncoder {    private static final Debug debug = Debug.getInstance("x509", "\t[AVA]");    /**     * DEFAULT format allows both RFC1779 and RFC2253 syntax and     * additional keywords.     */    final static int DEFAULT = 1;    /**     * RFC1779 specifies format according to RFC1779.     */    final static int RFC1779 = 2;    /**     * RFC2253 specifies format according to RFC2253.     */    final static int RFC2253 = 3;    // currently not private, accessed directly from RDN    final ObjectIdentifier oid;    final DerValue value;    /*     * If the value has any of these characters in it, it must be quoted.     * Backslash and quote characters must also be individually escaped.     * Leading and trailing spaces, also multiple internal spaces, also     * call for quoting the whole string.     */    private static final String specialChars = ",+=\n<>#;";        /*     * In RFC2253, if the value has any of these characters in it, it     * must be quoted by a preceding \.     */    private static final String specialChars2253 = ",+\"\\<>;";    /*     * includes special chars from RFC1779 and RFC2253, as well as ' '     */    private static final String specialCharsAll = ",=\n+<>#;\\\" ";    /*     * Values that aren't printable strings are emitted as BER-encoded     * hex data.     */    private static final String hexDigits = "0123456789ABCDEF";    public AVA(ObjectIdentifier type, DerValue val) {	if ((type == null) || (val == null)) {	    throw new NullPointerException();	}	oid = type;	value = val;    }    /**     * Parse an RFC 1779 or RFC 2253 style AVA string:  CN=fee fie foe fum     * or perhaps with quotes.  Not all defined AVA tags are supported;     * of current note are X.400 related ones (PRMD, ADMD, etc).     *     * This terminates at unescaped AVA separators ("+") or RDN     * separators (",", ";"), or DN terminators (">"), and removes     * cosmetic whitespace at the end of values.     */    AVA(Reader in) throws IOException {        this(in, DEFAULT);    }        /**     * Parse an AVA string formatted according to format.     *     * NOTE: format RFC1779 should only allow RFC1779 syntax but is     * actually DEFAULT with RFC1779 keywords.     */    AVA(Reader in, int format) throws IOException {        // assume format is one of DEFAULT, RFC1779, RFC2253     	StringBuffer	temp = new StringBuffer();	int		c;	/*	 * First get the keyword indicating the attribute's type,	 * and map it to the appropriate OID.	 */	while (true) {	    c = readChar(in, "Incorrect AVA format");	    if (c == '=') {		break;	    }	    temp.append((char)c);	}	oid = AVAKeyword.getOID(temp.toString(), format);	/*	 * Now parse the value.  "#hex", a quoted string, or a string	 * terminated by "+", ",", ";", ">".  Whitespace before or after	 * the value is stripped away unless format is RFC2253.	 */	temp.setLength(0);	if (format == RFC2253) {	    // read next character	    c = in.read();	    if (c == ' ') {		throw new IOException("Incorrect AVA RFC2253 format - " +					"leading space must be escaped");	    }	} else {	    // read next character skipping whitespace	    do {	        c = in.read();	    } while ((c == ' ') || (c == '\n'));	}        if (c == -1) {	    // empty value	    value = new DerValue("");	    return;	}	if (c == '#') {	    value = parseHexString(in, format);	} else if ((c == '"') && (format != RFC2253)) {	    value = parseQuotedString(in, temp);	} else {	    value = parseString(in, c, format, temp);	}    }        /**     * Get the ObjectIdentifier of this AVA.     */    public ObjectIdentifier getObjectIdentifier() {	return oid;    }        /**     * Get the value of this AVA as a DerValue.     */    public DerValue getDerValue() {	return value;    }        /**     * Get the value of this AVA as a String.     *     * @exception RuntimeException if we could not obtain the string form     *    (should not occur)     */    public String getValueString() {	try {	    String s = value.getAsString();	    if (s == null) {		throw new RuntimeException("AVA string is null");	    }	    return s;	} catch (IOException e) {	    // should not occur	    throw new RuntimeException("AVA error: " + e, e);	}    }    private static DerValue parseHexString	(Reader in, int format) throws IOException {	int c;	ByteArrayOutputStream baos = new ByteArrayOutputStream();	byte b = 0;	int cNdx = 0;	while (true) {	    c = in.read();			    if (isTerminator(c, format)) {		break;	    }	    int cVal = hexDigits.indexOf(Character.toUpperCase((char)c));	    if (cVal == -1) {		throw new IOException("AVA parse, invalid hex " +					      "digit: "+ (char)c);	    }	    if ((cNdx % 2) == 1) {		b = (byte)((b * 16) + (byte)(cVal));		baos.write(b);	    } else {		b = (byte)(cVal);	    }	    cNdx++;	}	// throw exception if no hex digits	if (cNdx == 0) {	    throw new IOException("AVA parse, zero hex digits");	}	// throw exception if odd number of hex digits	if (cNdx % 2 == 1) {	    throw new IOException("AVA parse, odd number of hex digits");	}	return new DerValue(baos.toByteArray());    }    private DerValue parseQuotedString	(Reader in, StringBuffer temp) throws IOException {	// RFC1779 specifies that an entire RDN may be enclosed in double 	// quotes. In this case the syntax is any sequence of         // backslash-specialChar, backslash-backslash,	// backslash-doublequote, or character other than backslash or	// doublequote.	int c = readChar(in, "Quoted string did not end in quote");	ArrayList embeddedHex = new ArrayList();	boolean isPrintableString = true;	while (c != '"') {	    if (c == '\\') {		c = readChar(in, "Quoted string did not end in quote");		// check for embedded hex pairs		Byte hexByte = null;		if ((hexByte = getEmbeddedHexPair(c, in)) != null) {		    // always encode AVAs with embedded hex as UTF8		    isPrintableString = false;		    // append consecutive embedded hex		    // as single string later		    embeddedHex.add(hexByte);		    c = in.read();		    continue;		}		if (c != '\\' && c != '"' &&		    specialChars.indexOf((char)c) < 0) {		    throw new IOException			("Invalid escaped character in AVA: " +			(char)c);		}	    } 	    // add embedded hex bytes before next char	    if (embeddedHex.size() > 0) {		String hexString = getEmbeddedHexString(embeddedHex);		temp.append(hexString);		embeddedHex.clear();	    }			    // check for non-PrintableString chars	    isPrintableString &= DerValue.isPrintableStringChar((char)c);	    temp.append((char)c);	    c = readChar(in, "Quoted string did not end in quote");	}	// add trailing embedded hex bytes	if (embeddedHex.size() > 0) {	    String hexString = getEmbeddedHexString(embeddedHex);	    temp.append(hexString);	    embeddedHex.clear();	}			do {	    c = in.read();	} while ((c == '\n') || (c == ' '));	if (c != -1) {	    throw new IOException("AVA had characters other than "		    + "whitespace after terminating quote");	}	// encode as PrintableString unless value contains	// non-PrintableString chars	if (this.oid.equals(PKCS9Attribute.EMAIL_ADDRESS_OID)) {	    // EmailAddress must be IA5String	    return new DerValue(DerValue.tag_IA5String,					temp.toString().trim());	} else if (isPrintableString) {	    return new DerValue(temp.toString().trim());	} else {	    return new DerValue(DerValue.tag_UTF8String,					temp.toString().trim());	}    }     private DerValue parseString	(Reader in, int c, int format, StringBuffer temp) throws IOException {	ArrayList embeddedHex = new ArrayList();	boolean isPrintableString = true;	boolean escape = false;	boolean leadingChar = true;	int spaceCount = 0;	do {	    escape = false;	    if (c == '\\') {		escape = true;		c = readChar(in, "Invalid trailing backslash");		// check for embedded hex pairs		Byte hexByte = null;		if ((hexByte = getEmbeddedHexPair(c, in)) != null) {		    // always encode AVAs with embedded hex as UTF8		    isPrintableString = false;		    // append consecutive embedded hex		    // as single string later		    embeddedHex.add(hexByte);		    c = in.read();		    leadingChar = false;		    continue;		}		// check if character was improperly escaped		if ((format == DEFAULT &&			specialCharsAll.indexOf((char)c) == -1) ||		    (format == RFC1779  &&			specialChars.indexOf((char)c) == -1 &&			c != '\\' && c != '\"')) {		    throw new IOException			("Invalid escaped character in AVA: '" +			(char)c + "'");		} else if (format == RFC2253) {		    if (c == ' ') {			// only leading/trailing space can be escaped			if (!leadingChar && !trailingSpace(in)) {				throw new IOException					("Invalid escaped space character " +					"in AVA.  Only a leading or trailing " +					"space character can be escaped.");			}		    } else if (c == '#') {			// only leading '#' can be escaped			if (!leadingChar) {			    throw new IOException				("Invalid escaped '#' character in AVA.  " +				"Only a leading '#' can be escaped.");			}		    } else if (specialChars2253.indexOf((char)c) == -1) {			throw new IOException				("Invalid escaped character in AVA: '" +				(char)c + "'");		    }		}	    } else {		// check if character should have been escaped

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲一区二区三区在线观看| 精品国精品国产尤物美女| 蜜臀av性久久久久蜜臀av麻豆| 久久夜色精品一区| 欧洲色大大久久| 国产成人亚洲综合a∨婷婷 | 久久精品国产一区二区三区免费看| 日本一区二区三区国色天香| 制服丝袜激情欧洲亚洲| 91一区二区三区在线观看| 麻豆一区二区三| 亚洲不卡av一区二区三区| 中文久久乱码一区二区| 日韩美女主播在线视频一区二区三区| 色哟哟国产精品| 成熟亚洲日本毛茸茸凸凹| 蜜桃在线一区二区三区| 亚洲综合色在线| 亚洲三级理论片| 欧美国产一区在线| 精品国产污网站| 日韩欧美中文字幕制服| 欧美日韩视频专区在线播放| 色综合久久88色综合天天6| 成人性视频免费网站| 国产真实乱对白精彩久久| 日韩av中文在线观看| 亚洲电影你懂得| 亚洲小说春色综合另类电影| 亚洲六月丁香色婷婷综合久久| 亚洲国产岛国毛片在线| 国产婷婷色一区二区三区四区| 日韩欧美一二三| 亚洲精品videosex极品| 亚洲欧洲av色图| 欧美高清在线视频| 国产日韩影视精品| 欧美高清一级片在线观看| 久久久精品一品道一区| 久久精品视频在线看| 久久天堂av综合合色蜜桃网| 欧美精品一区二区三区视频| 精品国产电影一区二区| 亚洲精品在线观看网站| 久久综合色之久久综合| 日韩一级二级三级| 精品国产91亚洲一区二区三区婷婷| 日韩女优毛片在线| 久久综合九色欧美综合狠狠| 久久综合九色综合97婷婷女人 | 精品久久久久久久久久久院品网| 日韩欧美一级二级三级久久久| 日韩欧美一区中文| 久久免费国产精品| 中文在线免费一区三区高中清不卡| 中文字幕二三区不卡| 中文字幕一区二| 一区二区三区欧美日| 午夜精品一区二区三区免费视频| 日韩av网站免费在线| 国产一区二区三区视频在线播放| 国产成人综合在线观看| 91女神在线视频| 欧美精品在线一区二区三区| 精品久久久久99| 中文字幕+乱码+中文字幕一区| 亚洲美女在线一区| 日韩成人一区二区| 国产精品亚洲成人| 97久久久精品综合88久久| 欧美日本高清视频在线观看| 欧美成人福利视频| 国产精品国产三级国产aⅴ原创| 亚洲欧美一区二区久久| 丝袜a∨在线一区二区三区不卡| 国产麻豆精品一区二区| 99久久99久久精品免费看蜜桃| 欧美日韩一区二区三区免费看| 精品久久久三级丝袜| 亚洲人成影院在线观看| 日本午夜一本久久久综合| 成人a区在线观看| 欧美日韩大陆在线| 中文字幕不卡在线播放| 午夜天堂影视香蕉久久| 国产91精品精华液一区二区三区| 在线观看亚洲精品| 2020日本不卡一区二区视频| 亚洲精品国产高清久久伦理二区| 蜜臀av亚洲一区中文字幕| 99精品国产91久久久久久| 欧美一区二区黄| 亚洲丝袜制服诱惑| 久久99久久99| 欧美视频日韩视频| 国产精品视频在线看| 免费观看日韩电影| 日本精品一级二级| 国产欧美中文在线| 日本vs亚洲vs韩国一区三区二区 | 一区二区三区产品免费精品久久75| 蜜桃视频一区二区三区| 91丨porny丨中文| 久久久久久毛片| 水野朝阳av一区二区三区| 97精品国产97久久久久久久久久久久 | 日韩码欧中文字| 国产一区二区不卡老阿姨| 欧美老年两性高潮| 亚洲毛片av在线| 高清不卡一区二区| 精品国产乱码久久久久久1区2区| 艳妇臀荡乳欲伦亚洲一区| 成人激情校园春色| 精品欧美乱码久久久久久1区2区| 亚洲v精品v日韩v欧美v专区| 91网站最新网址| 国产精品色噜噜| 国产一区二区久久| 精品福利一区二区三区| 奇米777欧美一区二区| 欧洲精品在线观看| 亚洲精品视频免费观看| av不卡在线播放| 国产精品视频一二三区| 国产成a人亚洲| 精品成人在线观看| 狠狠色2019综合网| 精品美女在线播放| 久久丁香综合五月国产三级网站| 欧美高清视频一二三区| 午夜精品久久久久久不卡8050| 在线免费观看日本一区| 亚洲伦理在线免费看| 99精品视频在线播放观看| 一区二区中文视频| 91在线一区二区| 亚洲欧美一区二区三区极速播放| 不卡欧美aaaaa| 亚洲图片欧美激情| 色噜噜偷拍精品综合在线| 亚洲免费伊人电影| 欧亚一区二区三区| 亚洲成国产人片在线观看| 欧美一区二区久久| 久久99久久久久久久久久久| 欧美精品一区二区久久婷婷| 国产真实精品久久二三区| 国产免费久久精品| av一区二区三区在线| 亚洲美女偷拍久久| 欧美乱妇23p| 久久av资源站| 国产日韩精品一区二区浪潮av | 亚洲国产成人tv| 6080国产精品一区二区| 久草在线在线精品观看| 国产日产欧美一区| 在线这里只有精品| 日韩av电影天堂| 久久精品免视看| 91麻豆精品在线观看| 香蕉成人伊视频在线观看| 欧美一二三区在线| 高清在线观看日韩| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲成年人影院| 欧美一级国产精品| 成人美女在线观看| 亚洲午夜在线视频| 精品国产网站在线观看| 99re在线视频这里只有精品| 日韩精品久久理论片| 国产欧美日韩视频在线观看| 在线亚洲免费视频| 九九**精品视频免费播放| 国产精品久久久久久亚洲毛片| 欧美日韩黄色影视| 国产乱色国产精品免费视频| 亚洲你懂的在线视频| 精品久久一区二区| 色94色欧美sute亚洲线路二| 久久99热国产| 亚洲综合色在线| 国产亚洲欧洲997久久综合| 欧美综合一区二区三区| 国精产品一区一区三区mba视频| 亚洲欧美国产毛片在线| 精品国产a毛片| 欧美日韩在线三区| 国产成人无遮挡在线视频| 亚洲第一会所有码转帖| 欧美韩国日本综合| 777欧美精品| 91污在线观看| 国产成人免费在线| 免费看欧美美女黄的网站| 一区二区三区欧美| 中文字幕中文字幕在线一区 | 日韩亚洲欧美中文三级|