File: digest.h

package info (click to toggle)
xca 2.9.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 8,328 kB
  • sloc: cpp: 30,584; sh: 341; xml: 74; makefile: 56; python: 34
file content (39 lines) | stat: -rw-r--r-- 685 bytes parent folder | download | duplicates (2)
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
37
38
39
/* vi: set sw=4 ts=4:
 *
 * Copyright (C) 2021 Christian Hohnstaedt.
 *
 * All rights reserved.
 */

#ifndef __DIGEST_H
#define __DIGEST_H

#include <openssl/evp.h>
#include <QString>

class digest
{
  private:
	static int default_md;
	int md_nid{ NID_sha256 };

  public:
	static const QList<int> all_digests;

	digest() { };
	digest(int nid);
	digest(const EVP_MD *md);
	digest(const QString &name);
	digest(const digest &d) = default;
	digest& operator=(const digest &d) = default;
	void adjust(QList<int> nids);

	bool isInsecure() const;
	const EVP_MD *MD() const;
	QString name() const;

	static void setDefault(const QString &def);
	static const digest getDefault();
};

#endif