From cd53d13fd12f8dd86514b2894e62ee6612566975 Mon Sep 17 00:00:00 2001
From: open-license-manager <rillf@maildrop.cc>
Date: 周一, 04 8月 2014 00:38:17 +0800
Subject: [PATCH] linux tests ok

---
 src/license-generator/LicenseSigner.cpp |   16 +++++++++-------
 1 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/src/license-generator/LicenseSigner.cpp b/src/license-generator/LicenseSigner.cpp
index 15f2268..53fd2f5 100644
--- a/src/license-generator/LicenseSigner.cpp
+++ b/src/license-generator/LicenseSigner.cpp
@@ -20,10 +20,11 @@
 using namespace std;
 
 LicenseSigner::LicenseSigner() {
-
+	os_initialize();
 }
 
 LicenseSigner::LicenseSigner(const std::string& alternatePrimaryKey) {
+	os_initialize();
 }
 
 string LicenseSigner::Opensslb64Encode(size_t slen, unsigned char* signature) {
@@ -49,9 +50,7 @@
 }
 
 string LicenseSigner::signString(const string& license) {
-	ERR_load_ERR_strings();
-	ERR_load_crypto_strings();
-	OpenSSL_add_all_algorithms();
+
 	size_t slen;
 	unsigned char* signature;
 	signature = NULL;
@@ -60,7 +59,8 @@
 	if (!mdctx) {
 		throw logic_error("Message digest creation context");
 	}
-	const char *private_key = PRIVATE_KEY;
+	const char *private_key = PRIVATE_KEY
+	;
 	BIO* bio = BIO_new_mem_buf((void*) (private_key), strlen(private_key));
 	EVP_PKEY *pktmp = PEM_read_bio_PrivateKey(bio, NULL, NULL, NULL);
 	BIO_free(bio);
@@ -98,8 +98,8 @@
 	 */
 	//bio = BIO_new_fp(stdout, BIO_NOCLOSE);
 	/*int encodedSize = 4 * ceil(slen / 3);
-	char* buffer = (char*) (malloc(encodedSize + 1));
-	memset(buffer,0,encodedSize+1);*/
+	 char* buffer = (char*) (malloc(encodedSize + 1));
+	 memset(buffer,0,encodedSize+1);*/
 	string signatureStr = Opensslb64Encode(slen, signature);
 	/*
 	 * BIO *bio, *b64;
@@ -125,6 +125,8 @@
 	 */
 	/* Clean up */
 	//free(buffer);
+	if (pktmp)
+		EVP_PKEY_free(pktmp);
 	if (signature)
 		OPENSSL_free(signature);
 

--
Gitblit v1.9.1