29             int length = ByteUtils.twoBytesAsInt(raw[0], raw[1]);
    31             if (length != (raw.length - 2)) {
    32                 log.error(
"Invalid token binding message. First two bytes length value: " + length + 
"does not match actual bytes length: " + raw.length);
    33                 throw new TokenBindingParseException(
"Invalid token binding message. First two bytes length value does not match actual bytes length.");
    36             List<TokenBinding> result = 
new ArrayList<TokenBinding>();
    38             TokenBindingStream stream = 
new TokenBindingStream(raw, 2, raw.length);
    39             Preconditions.checkState(stream.getPos() == 2);
    41             while (stream.available() > 0) {
    42                 int tokenTypeAsByteValue = stream.read();
    44                 TokenBindingType tokenBindingType = TokenBindingType.valueOf(tokenTypeAsByteValue);
    45                 if (tokenBindingType == null) {
    46                     throw new TokenBindingParseException(
"Failed to identify TokenBindingType, byteValue: " + tokenTypeAsByteValue);
    49                 int fromID = stream.getPos();
    50                 int keyParametersAsByteValue = stream.read();
    52                 TokenBindingKeyParameters tokenBindingKeyParameters = TokenBindingKeyParameters.valueOf(keyParametersAsByteValue);
    53                 if (tokenBindingKeyParameters == null) {
    54                     throw new TokenBindingParseException(
"Failed to identify TokenBindingKeyParameters, byteValue: " + keyParametersAsByteValue);
    58                 byte[] bindingIdRaw = Arrays.copyOfRange(raw, fromID, stream.getPos());
    63                 TokenBindingID 
id = 
new TokenBindingID(tokenBindingKeyParameters, publicKey, bindingIdRaw);
    65                 result.add(
new TokenBinding(tokenBindingType, 
id, signature, 
new TokenBindingExtension(TokenBindingExtensionType.UNKNOWN, extensions)));
    68         } 
catch (Exception e) {
    69             throw new TokenBindingParseException(
"Failed to parse TokenBindingMessage, raw: " + Base64Util.base64urlencode(raw), e);
 static final Logger log
Definition: TokenBindingMessageParser.java:18
 
static byte [] readBytesWithSuffixLength(ByteArrayInputStream stream)
Definition: TokenBindingMessageParser.java:73