summaryrefslogtreecommitdiff
path: root/dsa.cpp
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2015-11-05 01:59:46 -0500
committerJeffrey Walton <noloader@gmail.com>2015-11-05 01:59:46 -0500
commit48809d4e85c125814425c621d8d0d89f95405924 (patch)
tree1010fd16c4b1199f3d27dd726dda241a2bd29f83 /dsa.cpp
parent025337a94aceb75d188149db70c2094673772816 (diff)
downloadcryptopp-git-48809d4e85c125814425c621d8d0d89f95405924.tar.gz
CRYPTOPP 5.6.3 RC6 checkin
Diffstat (limited to 'dsa.cpp')
-rw-r--r--dsa.cpp129
1 files changed, 66 insertions, 63 deletions
diff --git a/dsa.cpp b/dsa.cpp
index 5aace485..0141fcdc 100644
--- a/dsa.cpp
+++ b/dsa.cpp
@@ -1,63 +1,66 @@
-// dsa.cpp - written and placed in the public domain by Wei Dai
-
-#include "pch.h"
-
-#ifndef CRYPTOPP_IMPORTS
-
-#include "dsa.h"
-#include "nbtheory.h"
-
-NAMESPACE_BEGIN(CryptoPP)
-
-size_t DSAConvertSignatureFormat(byte *buffer, size_t bufferSize, DSASignatureFormat toFormat, const byte *signature, size_t signatureLen, DSASignatureFormat fromFormat)
-{
- Integer r, s;
- StringStore store(signature, signatureLen);
- ArraySink sink(buffer, bufferSize);
-
- switch (fromFormat)
- {
- case DSA_P1363:
- r.Decode(store, signatureLen/2);
- s.Decode(store, signatureLen/2);
- break;
- case DSA_DER:
- {
- BERSequenceDecoder seq(store);
- r.BERDecode(seq);
- s.BERDecode(seq);
- seq.MessageEnd();
- break;
- }
- case DSA_OPENPGP:
- r.OpenPGPDecode(store);
- s.OpenPGPDecode(store);
- break;
- }
-
- switch (toFormat)
- {
- case DSA_P1363:
- r.Encode(sink, bufferSize/2);
- s.Encode(sink, bufferSize/2);
- break;
- case DSA_DER:
- {
- DERSequenceEncoder seq(sink);
- r.DEREncode(seq);
- s.DEREncode(seq);
- seq.MessageEnd();
- break;
- }
- case DSA_OPENPGP:
- r.OpenPGPEncode(sink);
- s.OpenPGPEncode(sink);
- break;
- }
-
- return (size_t)sink.TotalPutLength();
-}
-
-NAMESPACE_END
-
-#endif
+// dsa.cpp - written and placed in the public domain by Wei Dai
+
+#include "pch.h"
+
+#ifndef CRYPTOPP_IMPORTS
+
+#include "dsa.h"
+#include "asn.h"
+#include "integer.h"
+#include "filters.h"
+#include "nbtheory.h"
+
+NAMESPACE_BEGIN(CryptoPP)
+
+size_t DSAConvertSignatureFormat(byte *buffer, size_t bufferSize, DSASignatureFormat toFormat, const byte *signature, size_t signatureLen, DSASignatureFormat fromFormat)
+{
+ Integer r, s;
+ StringStore store(signature, signatureLen);
+ ArraySink sink(buffer, bufferSize);
+
+ switch (fromFormat)
+ {
+ case DSA_P1363:
+ r.Decode(store, signatureLen/2);
+ s.Decode(store, signatureLen/2);
+ break;
+ case DSA_DER:
+ {
+ BERSequenceDecoder seq(store);
+ r.BERDecode(seq);
+ s.BERDecode(seq);
+ seq.MessageEnd();
+ break;
+ }
+ case DSA_OPENPGP:
+ r.OpenPGPDecode(store);
+ s.OpenPGPDecode(store);
+ break;
+ }
+
+ switch (toFormat)
+ {
+ case DSA_P1363:
+ r.Encode(sink, bufferSize/2);
+ s.Encode(sink, bufferSize/2);
+ break;
+ case DSA_DER:
+ {
+ DERSequenceEncoder seq(sink);
+ r.DEREncode(seq);
+ s.DEREncode(seq);
+ seq.MessageEnd();
+ break;
+ }
+ case DSA_OPENPGP:
+ r.OpenPGPEncode(sink);
+ s.OpenPGPEncode(sink);
+ break;
+ }
+
+ return (size_t)sink.TotalPutLength();
+}
+
+NAMESPACE_END
+
+#endif