Sponsored Content
Top Forums UNIX for Advanced & Expert Users converting openssl hex dump or PEM format to integer array Post 302255570 by jhopper on Thursday 6th of November 2008 05:45:43 PM
Old 11-06-2008
converting openssl hex dump or PEM format to integer array

Hello. I'm working on a project that involves creating public/private keys server-side using openssl and using the public key in a Javascript application to encrypt sensitive data in form fields before transmission to the server. Using an SSL https server connection was not an option in this project, thus the need for Javascript encryption of the data.

I've worked with openssl server-side for some time but am new to the idea of trying to use RSA functions in Javascript. I've found a couple good implementions of RSA in Javascript, but each of them calls for an array of integers as the public key (or modulo/modulus). For example:

rsaEncode(PublicExponent e, Public Modulo (p*q), message);

With an example as:

rsaEncode([17],[146319787,207083639,101933441,168947106,49991],f.message.value);

How can I convert the output from the openssl CLI into an array of integers? I thought about writing a program to go through the hex dump of the openssl CLI output, computing the decimal equivalent, but I'm not sure how to arrive at an array of integers that is needed in this JS call?

I'm hoping this is a trivial issue and I'll soon be laughing about all the time I wasted trying to figure out why I can't get openssl to output the mystical "array of integers" format. Thank you for your help.
 

10 More Discussions You Might Find Interesting

1. Programming

converting hex to ascii

Hi everyone! I was wondering if anyone knows how to change hex code back into ascii. when i process a form: " / " turn to " %2F " " @ " turns to " %40 " " ' " turns to " %27 " " ( " turns to " %28 " " ) " turns to " %29 " this is my code so far: order.txt thanks, primal p.s.... (1 Reply)
Discussion started by: primal
1 Replies

2. Shell Programming and Scripting

converting hex to dec

Hi Experts, I have a file called "hex" which contains info like below How do i convert everything in this file to decimal value? Please advice. Thanks (4 Replies)
Discussion started by: aismann
4 Replies

3. Shell Programming and Scripting

Converting hex value 7C (for pipe) to CRLF in Unix

I am trying to convert a txt file that includes one long string of data. The lines are separated with hex value 7C (for pipe). I am trying to process this file using SQR (Peoplesoft) so I thought the easiest thing to do would be to replace the eol char with a CRLF in unix so I can just... (4 Replies)
Discussion started by: sfedak
4 Replies

4. Programming

After converting the hexstr to Hex and storing the Hex in a char*

Hi All, My main intension of is to convert the Hexstring stored in a char* into hex and then prefixing it with "0x" and suffix it with ',' This has to be done for all the hexstring char* is NULL. Store the result prefixed with "0x" and suffixed with ',' in another char* and pass it to... (1 Reply)
Discussion started by: rvan
1 Replies

5. AIX

Whar is hex dump utility and how to insert 1C?

What is the hexdump utility on AIX box. Also I want to insert hex 1C using vi editor how to do that. Thanks. :) (2 Replies)
Discussion started by: ekb
2 Replies

6. Programming

4-Byte Salt (in hex) to Integer

If i have a salt that looks like this 'CFDB024F' (in hex) would the integer value be '3487236687' ? Is that correct? (1 Reply)
Discussion started by: cbreiny
1 Replies

7. Shell Programming and Scripting

Converting hex to ascii/decimal

I am writing a bash script to do some parsing on a log and I am running into a problem when it comes to converting only certain sections of the file from hex to ascii or hex to decimal. Data Example: The hex values after Hardware and SW Version I need to convert from Hex to ASCII and the... (16 Replies)
Discussion started by: Shiftkey
16 Replies

8. Shell Programming and Scripting

Converting decimal to hex

How to convert decimal value to hex and than take 1st digits as variable sample data 84844294,5,6 51291736,2,3 84844294,5,6 51291736,2,3 i can use {printf "%x,%d\n",$1,$2} but than i want to filter base on 1st hex digit 1st recrd (1 Reply)
Discussion started by: before4
1 Replies

9. UNIX for Dummies Questions & Answers

Hex dump into Wireshark or similiar

Hi Guy's I am trying to find a way of importing the raw hex data from a router dump into a wireshark trace for example. I have had a look at the text2pcap pages and cant seem to work it out. Does anyone have any expierence in this ? If it requires format changes whats the best way of doing... (3 Replies)
Discussion started by: mutley2202
3 Replies

10. Shell Programming and Scripting

Converting time format as Integer to seconds

Hello, How can we convert date like format 20181004171050 in seconds ? I can able to convert till date but failing for HHMMSS. date -d "20181004" "+%s" output as 1538596800 . But when i add hhmmss it is failing date -d "20181004172000" "+%s" result Invalid date Kindly guide. Regards (16 Replies)
Discussion started by: sadique.manzar
16 Replies
RSA(1SSL)							      OpenSSL								 RSA(1SSL)

NAME
openssl-rsa, rsa - RSA key processing tool SYNOPSIS
openssl rsa [-help] [-inform PEM|DER] [-outform PEM|DER] [-in filename] [-passin arg] [-out filename] [-passout arg] [-aes128] [-aes192] [-aes256] [-aria128] [-aria192] [-aria256] [-camellia128] [-camellia192] [-camellia256] [-des] [-des3] [-idea] [-text] [-noout] [-modulus] [-check] [-pubin] [-pubout] [-RSAPublicKey_in] [-RSAPublicKey_out] [-engine id] DESCRIPTION
The rsa command processes RSA keys. They can be converted between various forms and their components printed out. Note this command uses the traditional SSLeay compatible format for private key encryption: newer applications should use the more secure PKCS#8 format using the pkcs8 utility. OPTIONS
-help Print out a usage message. -inform DER|PEM This specifies the input format. The DER option uses an ASN1 DER encoded form compatible with the PKCS#1 RSAPrivateKey or SubjectPublicKeyInfo format. The PEM form is the default format: it consists of the DER format base64 encoded with additional header and footer lines. On input PKCS#8 format private keys are also accepted. -outform DER|PEM This specifies the output format, the options have the same meaning and default as the -inform option. -in filename This specifies the input filename to read a key from or standard input if this option is not specified. If the key is encrypted a pass phrase will be prompted for. -passin arg The input file password source. For more information about the format of arg see the PASS PHRASE ARGUMENTS section in openssl(1). -out filename This specifies the output filename to write a key to or standard output if this option is not specified. If any encryption options are set then a pass phrase will be prompted for. The output filename should not be the same as the input filename. -passout password The output file password source. For more information about the format of arg see the PASS PHRASE ARGUMENTS section in openssl(1). -aes128, -aes192, -aes256, -aria128, -aria192, -aria256, -camellia128, -camellia192, -camellia256, -des, -des3, -idea These options encrypt the private key with the specified cipher before outputting it. A pass phrase is prompted for. If none of these options is specified the key is written in plain text. This means that using the rsa utility to read in an encrypted key with no encryption option can be used to remove the pass phrase from a key, or by setting the encryption options it can be use to add or change the pass phrase. These options can only be used with PEM format output files. -text Prints out the various public or private key components in plain text in addition to the encoded version. -noout This option prevents output of the encoded version of the key. -modulus This option prints out the value of the modulus of the key. -check This option checks the consistency of an RSA private key. -pubin By default a private key is read from the input file: with this option a public key is read instead. -pubout By default a private key is output: with this option a public key will be output instead. This option is automatically set if the input is a public key. -RSAPublicKey_in, -RSAPublicKey_out Like -pubin and -pubout except RSAPublicKey format is used instead. -engine id Specifying an engine (by its unique id string) will cause rsa to attempt to obtain a functional reference to the specified engine, thus initialising it if needed. The engine will then be set as the default for all available algorithms. NOTES
The PEM private key format uses the header and footer lines: -----BEGIN RSA PRIVATE KEY----- -----END RSA PRIVATE KEY----- The PEM public key format uses the header and footer lines: -----BEGIN PUBLIC KEY----- -----END PUBLIC KEY----- The PEM RSAPublicKey format uses the header and footer lines: -----BEGIN RSA PUBLIC KEY----- -----END RSA PUBLIC KEY----- EXAMPLES
To remove the pass phrase on an RSA private key: openssl rsa -in key.pem -out keyout.pem To encrypt a private key using triple DES: openssl rsa -in key.pem -des3 -out keyout.pem To convert a private key from PEM to DER format: openssl rsa -in key.pem -outform DER -out keyout.der To print out the components of a private key to standard output: openssl rsa -in key.pem -text -noout To just output the public part of a private key: openssl rsa -in key.pem -pubout -out pubkey.pem Output the public part of a private key in RSAPublicKey format: openssl rsa -in key.pem -RSAPublicKey_out -out pubkey.pem BUGS
There should be an option that automatically handles .key files, without having to manually edit them. SEE ALSO
pkcs8(1), dsa(1), genrsa(1), gendsa(1) COPYRIGHT
Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>. 1.1.1a 2018-12-18 RSA(1SSL)
All times are GMT -4. The time now is 11:25 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy