summaryrefslogtreecommitdiffstats
path: root/libqpdf/qpdf/CryptoRandomDataProvider.hh
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2020-04-06 16:19:37 +0200
committerJay Berkenbilt <ejb@ql.org>2020-04-06 17:23:02 +0200
commit77198d5310d961ba3605db74fe1d213bb5d19f34 (patch)
treea92ae4e8056d6a8a5bf284c78460a6112710424e /libqpdf/qpdf/CryptoRandomDataProvider.hh
parent52749b85df2e25c5ca35d5e0d07fbe4248b6f99b (diff)
downloadqpdf-77198d5310d961ba3605db74fe1d213bb5d19f34.tar.zst
Delegate random number generation to crypto provider (fixes #418)
Diffstat (limited to 'libqpdf/qpdf/CryptoRandomDataProvider.hh')
-rw-r--r--libqpdf/qpdf/CryptoRandomDataProvider.hh22
1 files changed, 22 insertions, 0 deletions
diff --git a/libqpdf/qpdf/CryptoRandomDataProvider.hh b/libqpdf/qpdf/CryptoRandomDataProvider.hh
new file mode 100644
index 00000000..581fd511
--- /dev/null
+++ b/libqpdf/qpdf/CryptoRandomDataProvider.hh
@@ -0,0 +1,22 @@
+#ifndef CRYPTORANDOMDATAPROVIDER_HH
+#define CRYPTORANDOMDATAPROVIDER_HH
+
+#include <qpdf/RandomDataProvider.hh>
+#include <qpdf/DLL.h>
+
+class CryptoRandomDataProvider: public RandomDataProvider
+{
+ public:
+ QPDF_DLL
+ CryptoRandomDataProvider();
+ QPDF_DLL
+ virtual ~CryptoRandomDataProvider();
+
+ QPDF_DLL
+ virtual void provideRandomData(unsigned char* data, size_t len);
+
+ QPDF_DLL
+ static RandomDataProvider* getInstance();
+};
+
+#endif // CRYPTORANDOMDATAPROVIDER_HH