/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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.tomcat.util.buf;
import java.math.BigInteger;
import org.apache.tomcat.util.res.StringManager;
/** * This is a very basic ASN.1 parser that provides the limited functionality required by Tomcat. It is a long way from a * complete parser. * <p> * TODO: Consider extending this parser and refactoring the SpnegoTokenFixer to use it.
*/ publicclass Asn1Parser {
privatestaticfinal StringManager sm = StringManager.getManager(Asn1Parser.class);
publicvoid parseTag(int tag) { int value = next(); if (value != tag) { thrownew IllegalArgumentException(
sm.getString("asn1Parser.tagMismatch", Integer.valueOf(tag), Integer.valueOf(value)));
}
}
publicvoid parseFullLength() { int len = parseLength(); if (len + pos != source.length) { thrownew IllegalArgumentException(sm.getString("asn1Parser.lengthInvalid", Integer.valueOf(len),
Integer.valueOf(source.length - pos)));
}
}
publicint parseLength() { int len = next(); if (len > 127) { int bytes = len - 128;
len = 0; for (int i = 0; i < bytes; i++) {
len = len << 8;
len = len + next();
}
} return len;
}
public BigInteger parseInt() { byte[] val = parseBytes(TAG_INTEGER); returnnew BigInteger(val);
}
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.1Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.