Doxygen with github
Loading...
Searching...
No Matches
ksCertUtils.h
1/*
2 * Copyright (c) 2021-2023, Krzysztof Strehlau
3 *
4 * This file is a part of the ksIotFramework library.
5 * All licensing information can be found inside LICENSE.md file.
6 *
7 * https://github.com/cziter15/ksIotFrameworkLib/blob/master/LICENSE
8 */
9
10#pragma once
11
12#include <string>
13#include <stdint.h>
14#include <WiFiClientSecure.h>
15
16namespace ksf
17{
25 {
26 protected:
34 bool fingerprintToBytes(const std::string& fingerprint, uint8_t* bytes, uint8_t bytesLen) const;
35
36 public:
43 virtual bool setup(WiFiClientSecure* client, const std::string& fingerprint);
44
50 virtual bool verify(WiFiClientSecure* client) const;
51 };
52
53#ifdef ESP32
54 class ksCertFingerprintESP32 : public ksCertFingerprint
55 {
56 private:
57 uint8_t fingerprintBytes[32];
58
59 public:
69 bool setup(WiFiClientSecure* client, const std::string& fingerprint) override;
70
76 bool verify(WiFiClientSecure* client) const override;
77 };
78
79 using ksCertFingerprintHolder = ksCertFingerprintESP32;
80#endif
81
82#ifdef ESP8266
83 class ksCertFingerprintESP8266 : public ksCertFingerprint
84 {
85 public:
92 bool setup(WiFiClientSecure* client, const std::string& fingerprint) override;
93
102 bool verify(WiFiClientSecure* client) const override;
103 };
104
105 using ksCertFingerprintHolder = ksCertFingerprintESP8266;
106#endif
107}
Interface for certificate fingerprint verification.
Definition ksCertUtils.h:25
bool fingerprintToBytes(const std::string &fingerprint, uint8_t *bytes, uint8_t bytesLen) const
Converts fingerprint string into array of bytes.
Definition ksCertUtils.cpp:33
virtual bool verify(WiFiClientSecure *client) const
Performs certificate fingerprint validation (platform dependent).
virtual bool setup(WiFiClientSecure *client, const std::string &fingerprint)
Performs certificate fingerprint setup (platform dependent).