PEM.h 465 B

123456789101112131415161718192021222324
  1. /*
  2. * Copyright (c) 2020, Ali Mohammad Pur <mpfard@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <AK/Span.h>
  8. #include <LibCrypto/ASN1/ASN1.h>
  9. #include <LibCrypto/ASN1/DER.h>
  10. namespace Crypto {
  11. enum PEMType {
  12. Certificate,
  13. PrivateKey,
  14. };
  15. ByteBuffer decode_pem(ReadonlyBytes);
  16. ErrorOr<Vector<ByteBuffer>> decode_pems(ReadonlyBytes);
  17. ErrorOr<ByteBuffer> encode_pem(ReadonlyBytes, PEMType = PEMType::Certificate);
  18. }