crypto/weakcrypto/test/tasymmetric/script_gen/gen_random.c
changeset 0 2c201484c85f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/script_gen/gen_random.c	Wed Jul 08 11:25:26 2009 +0100
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Generates C code that initialises a variable to hold some random data.
+*
+*/
+
+
+
+
+
+
+
+/**
+ @file
+*/
+
+#include <openssl/rand.h>
+
+static void gen_random(int len)
+    {
+    unsigned char data[len];
+    int i, j;
+
+    RAND_bytes(data, len);
+
+    printf("unsigned char random[] =");
+    for (i = 0 ; i < sizeof(data) ; i += 16)
+        {
+        printf("\n\t\"");
+        for (j = i ; j < sizeof(data) && j < (i + 16) ; ++j)
+            {
+            printf("\\x%02x", data[j]);
+            }
+        printf("\"");
+        }
+
+    printf(";\n");
+    }
+
+static void badUsage()
+    {
+    printf("gen_random [BYTES]\n");
+    exit(1);
+    }
+
+int main(int argc, char* argv[])
+    {
+    int bytes = 256;
+
+    if (argc > 2)
+        badUsage();
+    else if (argc == 2)
+        {
+        bytes = atoi(argv[1]);
+        if (bytes < 1)
+            badUsage();
+        }
+
+    gen_random(bytes);
+    return 0;
+    }