1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
#include "libfilezilla/tls_params.hpp"
using namespace std::literals;
namespace fz {
bool is_pem(std::string_view blob)
{
bool got_preamble{};
for (auto line : strtokenizer(blob, "\n\r"sv, true)) {
if (!got_preamble) {
if (!starts_with(line, "-----BEGIN "sv)) {
continue;
}
trim(line);
if (!ends_with(line, "-----"sv)) {
continue;
}
got_preamble = true;
}
else {
if (!starts_with(line, "-----END "sv)) {
continue;
}
trim(line);
if (!ends_with(line, "-----"sv)) {
continue;
}
return true;
}
}
return false;
}
}
|