private Object toValue(JsonNode node) throws IOException { if (node.isTextual()) { return node.asText(); } else if (node.isNumber()) { return node.numberValue(); } else if (node.isBoolean()) { return node.asBoolean(); } else if (node.isBinary()) { return node.binaryValue(); } else { throw new IllegalStateException("Unexpected range bound value: " + node); } } }
@Override public String getText() { if (_closed) { return null; } // need to separate handling a bit... switch (_currToken) { case FIELD_NAME: return _nodeCursor.getCurrentName(); case VALUE_STRING: return currentNode().textValue(); case VALUE_NUMBER_INT: case VALUE_NUMBER_FLOAT: return String.valueOf(currentNode().numberValue()); case VALUE_EMBEDDED_OBJECT: JsonNode n = currentNode(); if (n != null && n.isBinary()) { // this will convert it to base64 return n.asText(); } default: return (_currToken == null) ? null : _currToken.asString(); } }
@Override public Object getEmbeddedObject() { if (!_closed) { JsonNode n = currentNode(); if (n != null) { if (n.isPojo()) { return ((POJONode) n).getPojo(); } if (n.isBinary()) { return ((BinaryNode) n).binaryValue(); } } } return null; }
return json.asText(); else if ( json.isBinary() ) { try { return wrap( json.binaryValue() );
return prepStringForIndex( json.asText() ); else if ( json.isBinary() ) { try { return wrap( json.binaryValue());
return type.isArray() || Collection.class.isAssignableFrom(type); if (node.isBinary()) { return byteOrCharAssignable(type);
/** * Determines whether the provided JSON nodes have the same JSON data type. * @param n1 The first node. * @param n2 The second node. * @return {@code true} iff the nodes have the same JSON data type. */ public boolean isSameType(final JsonNode n1, final JsonNode n2) { return (n1.getNodeType() == n2.getNodeType() || ((n1.isTextual() || n1.isBinary()) && (n2.isTextual() || n2.isBinary()))); } }
public String verifyThatBinary(JsonNode node) { if (!node.isBinary()) { throw new Fido2RPRuntimeException("Invalid field " + node); } return node.asText(); }
/** * Determines whether the provided JSON nodes have the same JSON data type. * @param n1 The first node. * @param n2 The second node. * @return {@code true} iff the nodes have the same JSON data type. */ public boolean isSameType(final JsonNode n1, final JsonNode n2) { return (n1.getNodeType() == n2.getNodeType() || ((n1.isTextual() || n1.isBinary()) && (n2.isTextual() || n2.isBinary()))); } }
public NodeType getNodeType() { if (jsonNode.isObject()) { return NodeType.OBJECT; } else if (jsonNode.isArray()) { return NodeType.ARRAY; } else if (jsonNode.isTextual()) { return NodeType.STRING; } else if (jsonNode.isNumber()) { return NodeType.NUMBER; } else if (jsonNode.isBoolean()) { return NodeType.BOOLEAN; } else if (jsonNode.isNull()) { return NodeType.NULL; } else if (jsonNode.isBinary()) { return NodeType.STRING; } else { throw new IllegalStateException("Unexpected node type " + jsonNode); } }
private Object toValue(JsonNode node) throws IOException { if (node.isTextual()) { return node.asText(); } else if (node.isNumber()) { return node.numberValue(); } else if (node.isBoolean()) { return node.asBoolean(); } else if (node.isBinary()) { return node.binaryValue(); } else { throw new IllegalStateException("Unexpected range bound value: " + node); } } }
private static ByteArray getResponseBytes(AttestationObject attestationObject) { final JsonNode response = attestationObject.getAttestationStatement().get("response"); if (response == null || !response.isBinary()) { throw new IllegalArgumentException("Property \"response\" of android-safetynet attestation statement must be a binary value, was: " + response); } try { return new ByteArray(response.binaryValue()); } catch (IOException ioe) { throw ExceptionUtil.wrapAndLog(log, "response.isBinary() was true but response.binaryValue failed: " + response, ioe); } }
private Object unwrapJsonValue(JsonNode node) { if (node.isNull()) { return null; } else if (node.isBoolean()) { return node.booleanValue(); } else if (node.isBinary()) { return ((BinaryNode) node).binaryValue(); } else if (node.isNumber()) { return node.numberValue(); } else { return node.asText(); } } }
@Override public Object getEmbeddedObject() { if (!_closed) { JsonNode n = currentNode(); if (n != null) { if (n.isPojo()) { return ((POJONode) n).getPojo(); } if (n.isBinary()) { return ((BinaryNode) n).binaryValue(); } } } return null; }
@Override public Object getEmbeddedObject() { if (!_closed) { JsonNode n = currentNode(); if (n != null) { if (n.isPojo()) { return ((POJONode) n).getPojo(); } if (n.isBinary()) { return ((BinaryNode) n).binaryValue(); } } } return null; }
@Override public Object getEmbeddedObject() { if (!_closed) { JsonNode n = currentNode(); if (n != null) { if (n.isPojo()) { return ((POJONode) n).getPojo(); } if (n.isBinary()) { return ((BinaryNode) n).binaryValue(); } } } return null; }
@Override public Object getEmbeddedObject() { if (!_closed) { JsonNode n = currentNode(); if (n != null) { if (n.isPojo()) { return ((POJONode) n).getPojo(); } if (n.isBinary()) { return ((BinaryNode) n).binaryValue(); } } } return null; }
@Override public Object getEmbeddedObject() { if (!_closed) { JsonNode n = currentNode(); if (n != null) { if (n.isPojo()) { return ((POJONode) n).getPojo(); } if (n.isBinary()) { return ((BinaryNode) n).binaryValue(); } } } return null; }
@Override public Object getEmbeddedObject() { if (!_closed) { JsonNode n = currentNode(); if (n != null) { if (n.isPojo()) { return ((POJONode) n).getPojo(); } if (n.isBinary()) { return ((BinaryNode) n).binaryValue(); } } } return null; }
@Override public boolean verifyAttestationSignature(AttestationObject attestationObject, ByteArray clientDataJsonHash) { val signatureNode = attestationObject.getAttestationStatement().get("sig"); if (signatureNode == null || !signatureNode.isBinary()) { throw new IllegalArgumentException("attStmt.sig must be set to a binary value."); } if (attestationObject.getAttestationStatement().has("x5c")) { return verifyX5cSignature(attestationObject, clientDataJsonHash); } else if (attestationObject.getAttestationStatement().has("ecdaaKeyId")) { return verifyEcdaaSignature(attestationObject, clientDataJsonHash); } else { return verifySelfAttestationSignature(attestationObject, clientDataJsonHash); } }