1bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch// Copyright 2013 The Chromium Authors. All rights reserved.
2bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
3bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch// found in the LICENSE file.
4bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch
5bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch#ifndef NET_CERT_JWK_SERIALIZER_H_
6bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch#define NET_CERT_JWK_SERIALIZER_H_
7bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch
8bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch#include "base/strings/string_piece.h"
9bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch#include "net/base/net_export.h"
10bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch
11bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdochnamespace base {
12bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdochclass DictionaryValue;
13bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch}
14bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch
15bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdochnamespace net {
16bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch
17bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdochnamespace JwkSerializer {
18bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch
19bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch// Converts a subject public key info from DER to JWK.
20f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// See http://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-17 for
21bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch// the output format.
22bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben MurdochNET_EXPORT_PRIVATE bool ConvertSpkiFromDerToJwk(
23bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch    const base::StringPiece& spki_der,
24bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch    base::DictionaryValue* public_key_jwk);
25bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch
26bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch} // namespace JwkSerializer
27bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch
28bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch} // namespace net
29bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch
30bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch#endif  // NET_CERT_JWK_SERIALIZER_H_
31