Re: how to generate RSA format data?

2010-02-03 Thread Dr. Stephen Henson
On Tue, Feb 02, 2010, hunter li wrote:

 Hi, All,
 I have the following code to generate the RSA data. But it always gives me
 error:
 5049:error:0906D064:lib(9):func(109):reason(100):pem_lib.c:756.
 
 I do appreciate any suggestion!
 

First suggestion is don't post user questions to the dev list.

Second is that you don't have any newlines in the base64 data.

Steve.
--
Dr Stephen N. Henson. OpenSSL project core developer.
Commercial tech support now available see: http://www.openssl.org
__
OpenSSL Project http://www.openssl.org
Development Mailing List   openssl-dev@openssl.org
Automated List Manager   majord...@openssl.org


Re: how to generate RSA format data?

2010-02-03 Thread hunter li
Hi, Steve,
thank you very much!
How can I add newlines into the base64 data.
sincerely,
Hunter

On Wed, Feb 3, 2010 at 9:35 AM, Dr. Stephen Henson st...@openssl.orgwrote:

 On Tue, Feb 02, 2010, hunter li wrote:

  Hi, All,
  I have the following code to generate the RSA data. But it always gives
 me
  error:
  5049:error:0906D064:lib(9):func(109):reason(100):pem_lib.c:756.
 
  I do appreciate any suggestion!
 

 First suggestion is don't post user questions to the dev list.

 Second is that you don't have any newlines in the base64 data.

 Steve.
 --
 Dr Stephen N. Henson. OpenSSL project core developer.
 Commercial tech support now available see: http://www.openssl.org
 __
 OpenSSL Project http://www.openssl.org
 Development Mailing List   openssl-dev@openssl.org
 Automated List Manager   majord...@openssl.org



Re: how to generate RSA format data?

2010-02-03 Thread hunter li
Hi, Shahin,
Thank you very much!
I will try to find the algorithm identifier and an exponent.
I just read raw data from DVD disk to verify the DVD data.
I try to use rsa_public_decrypt or rsa_verify. Both of them
need to use a RSA*  format data. For now I only have the above
raw data as public key. Actually I really have no idea to
convert the raw data into RSA* format.

sincerely,
Hunter

On Wed, Feb 3, 2010 at 12:15 AM, Shahin Khorasani khoras...@amnafzar.comwrote:

  Hello hunter,

 Your raw data seems to be a RSA public key modulus.
 A public key in ASN.1 must have an algorithm identifier and an exponent.
 Take a look at this sample:
 raw data is (hexdump):

 8230 2201 0d30 0906 862a 8648 0df7 0101
 0501 0300 0182 000f 8230 0a01 8202 0101
 *d200 808c f87b cf63 7cb3 2cff 43dd 5cf5  *  --- You just provided
 this part
 *7def d1f5 adaa 0944 87ea f398 a654 b36d
 2303 4d68 e9fa fd46 9171 0f97 2960 cd1e
 6045 21aa 6986 44e2 679f 5a07 bbf9 157e
 82e2 82a8 5f42 7cee 4af6 7c1a e53d 05a3
 cf9a fc6a a0d9 6850 64f1 a6af f6fe c61c
 f39f ba1e cb31 c734 5c2f 4937 5383 4de5
 7b29 010a 2f86 41ab 00af 2ce3 3a48 3d19
 41c2 3196 455d 219b d1a0 9600 a107 65a7
 f195 aacd a105 3c71 fc7f 9c58 5825 6bd7
 ffe7 8d47 6c3d de2a 2779 489f 2641 ed81
 9f54 62e2 c4ed 893d e0bf 3678 a8c9 6573
 bda9 9b1f acb1 6634 9375 48bf ef82 887c
 0e08 6b68 b6f3 8170 bda0 f8a7 2e1b 023d
 5309 a755 e68e e014 cffd 9610 857a 3ffb
 f569 344c 7ea7 2520 d33f 0084 a9ca eaf6
 028f *0103 0100


 Gutman ASN1 dumper output:

0  290: SEQUENCE {
4   13:   SEQUENCE {
69: OBJECT IDENTIFIER rsaEncryption (1 2 840 113549 1 1 1)
   170: NULL
  : }
   19  271:   BIT STRING, encapsulates {
   24  266: SEQUENCE {
   28  257:   INTEGER
  : 00 D2 8C 80 7B F8 63 CF B3 7C FF 2C DD 43 F5 5C
  : EF 7D F5 D1 AA AD 44 09 EA 87 98 F3 54 A6 6D B3
  : 03 23 68 4D FA E9 46 FD 71 91 97 0F 60 29 1E CD
  : 45 60 AA 21 86 69 E2 44 9F 67 07 5A F9 BB 7E 15
  : E2 82 A8 82 42 5F EE 7C F6 4A 1A 7C 3D E5 A3 05
  : 9A CF 6A FC D9 A0 50 68 F1 64 AF A6 FE F6 1C C6
  : 9F F3 1E BA 31 CB 34 C7 2F 5C 37 49 83 53 E5 4D
  : 29 7B 0A 01 86 2F AB 41 AF 00 E3 2C 48 3A 19 3D
  : C2 41 96 31 5D 45 9B 21 A0 D1 00 96 07 A1 A7 65
  : 95 F1 CD AA 05 A1 71 3C 7F FC 58 9C 25 58 D7 6B
  : E7 FF 47 8D 3D 6C 2A DE 79 27 9F 48 41 26 81 ED
  : 54 9F E2 62 ED C4 3D 89 BF E0 78 36 C9 A8 73 65
  : A9 BD 1F 9B B1 AC 34 66 75 93 BF 48 82 EF 7C 88
  : 08 0E 68 6B F3 B6 70 81 A0 BD A7 F8 1B 2E 3D 02
  : 09 53 55 A7 8E E6 14 E0 FD CF 10 96 7A 85 FB 3F
  : 69 F5 4C 34 A7 7E 20 25 3F D3 84 00 CA A9 F6 EA
  : 8F
  2893:   INTEGER 65537
  :   }
  : }
  :   }

 Regards,
 Shahin Khorasani



 hunter li wrote:

 Hi, All,
 I have the following code to generate the RSA data. But it always gives me
 error:
 5049:error:0906D064:lib(9):func(109):reason(100):pem_lib.c:756.

 I do appreciate any suggestion!


  #include stdio.h
 #include stdlib.h
 #include stdint.h
 #include string.h

 #include openssl/bio.h
 #include openssl/rsa.h
 #include openssl/pem.h
 #include openssl/err.h

 int main(void)
 {

 RSA *public_key;
 BIO *pub_bio;

 char *publicKey_test = -BEGIN PUBLIC
 KEY-\nOTJjM2I3NTJmMmZlMzhkOTZjOTI2MjIxNzc0NjllNzM\
 MWExMDk5MmZkNWY3MWE0N2JlMzRhMzcxMDZkZDNkMTk\
 ZTUzNDc4OTY4OWQzM2FlYWRjMmQ2NWEzNGM5NjdjYzg\
 ODQzMzNhNDI4YjEyODRjZmQ0ZGNkZjVjM2UyNDU5Njk\
 NzNmMDAyZGEyMjIxZGM3NGM3NjdhYzZkYWIzYjc1YmE\
 MzAwZmZlNzcxZmIzMGJhZTBhMzQ4OGUxYTBhYzU0MmI\
 N2EwOTVlZWIzMzg1MWMwZWM2N2YwNDMzMzE3MTdkOTU\
 ZjM2ZmFlM2NiMDI3MTdhMjQxNjc3YTRkNTI4ODNhZDM\
 MzQ3ODE1N2IzZDcwODk0YjVmYzI3MTI5NmU4MjViOTU\
 Y2Q1NTQ3M2ZlMWY5MzgzYmZjZTkzN2YyNmRhNjliOTY\
 OGE0MjA4YzBiOTU1NDAyNDM1ZTcwYjY0NDE1OTE2MmE\
 YjFmNmU4ODA5YTAwMWI2N2MwNDE4NzU3NWEwMGNkN2Q\
 OTU0YTcxNzkyZTJiZjlhYjcxOTk1NzdmYjc2NWI3YjQ\
 OWNmOGJmYjM3MGQxNDMxZGE3OGYwMTU4ODEwY2Y5OTI\
 MWUxMzAyMzUzNTFmNjUyMjU4NjkzNjM3MTU1YmUyMzU\
 NTQyYjhlYTIzMzI2NTE0ZTAzOGVlZjM4ZDVjZTBmNzc=\n-END PUBLIC KEY-;

 pub_bio = BIO_new_mem_buf(publicKey_test, -1);
  if(pub_bio == NULL) {
 ERR_print_errors_fp(stdout);
 return 1;
  }

 public_key = PEM_read_bio_RSA_PUBKEY(pub_bio, NULL, NULL, NULL);
  if(public_key == NULL) {
   ERR_print_errors_fp(stdout);

 }
 RSA_free(public_key);

 return 0;

  }


 Here I try to convert the following public key raw data into PEM format.
 I encode the data into base64 and add-BEGIN PUBLIC KEY-, END
 PUBLIC KEY-.
 The raw data is as following 256 Bytes:
 92 c3 b7 52 f2 fe 38 d9 6c 92 62 21 77 46 9e 73
 1a 10 99 2f d5 f7 1a 47 be 34 a3 71 06 dd 3d 19
 e5 34 78 96 89 d3 3a ea dc 2d 65 a3 4c 96 7c c8
 84 33 3a 42 8b 12 84 cf d4 dc df 5c 3e 24 59 69
 73 f0 02 da 22 21 dc 74 c7 67 ac 6d ab 

Re: how to generate RSA format data?

2010-02-02 Thread Shahin Khorasani




Hello hunter,

Your raw data seems to be a RSA public key modulus.
A public key in ASN.1 must have an algorithm identifier and an exponent.
Take a look at this sample:
raw data is (hexdump):

8230 2201 0d30 0906 862a 8648 0df7 0101
0501 0300 0182 000f 8230 0a01 8202 0101
d200 808c f87b cf63 7cb3 2cff 43dd 5cf5--- You just
provided this part
7def d1f5 adaa 0944 87ea f398 a654 b36d
2303 4d68 e9fa fd46 9171 0f97 2960 cd1e
6045 21aa 6986 44e2 679f 5a07 bbf9 157e
82e2 82a8 5f42 7cee 4af6 7c1a e53d 05a3
cf9a fc6a a0d9 6850 64f1 a6af f6fe c61c
f39f ba1e cb31 c734 5c2f 4937 5383 4de5
7b29 010a 2f86 41ab 00af 2ce3 3a48 3d19
41c2 3196 455d 219b d1a0 9600 a107 65a7
f195 aacd a105 3c71 fc7f 9c58 5825 6bd7
ffe7 8d47 6c3d de2a 2779 489f 2641 ed81
9f54 62e2 c4ed 893d e0bf 3678 a8c9 6573
bda9 9b1f acb1 6634 9375 48bf ef82 887c
0e08 6b68 b6f3 8170 bda0 f8a7 2e1b 023d
5309 a755 e68e e014 cffd 9610 857a 3ffb
f569 344c 7ea7 2520 d33f 0084 a9ca eaf6
028f 0103 0100


Gutman ASN1 dumper output:

 0 290: SEQUENCE {
 4 13: SEQUENCE {
 6 9: OBJECT IDENTIFIER rsaEncryption (1 2 840 113549 1 1 1)
 17 0: NULL
 : }
 19 271: BIT STRING, encapsulates {
 24 266: SEQUENCE {
 28 257: INTEGER
 : 00 D2 8C 80 7B F8 63 CF B3 7C FF 2C DD 43 F5 5C
 : EF 7D F5 D1 AA AD 44 09 EA 87 98 F3 54 A6 6D B3
 : 03 23 68 4D FA E9 46 FD 71 91 97 0F 60 29 1E CD
 : 45 60 AA 21 86 69 E2 44 9F 67 07 5A F9 BB 7E 15
 : E2 82 A8 82 42 5F EE 7C F6 4A 1A 7C 3D E5 A3 05
 : 9A CF 6A FC D9 A0 50 68 F1 64 AF A6 FE F6 1C C6
 : 9F F3 1E BA 31 CB 34 C7 2F 5C 37 49 83 53 E5 4D
 : 29 7B 0A 01 86 2F AB 41 AF 00 E3 2C 48 3A 19 3D
 : C2 41 96 31 5D 45 9B 21 A0 D1 00 96 07 A1 A7 65
 : 95 F1 CD AA 05 A1 71 3C 7F FC 58 9C 25 58 D7 6B
 : E7 FF 47 8D 3D 6C 2A DE 79 27 9F 48 41 26 81 ED
 : 54 9F E2 62 ED C4 3D 89 BF E0 78 36 C9 A8 73 65
 : A9 BD 1F 9B B1 AC 34 66 75 93 BF 48 82 EF 7C 88
 : 08 0E 68 6B F3 B6 70 81 A0 BD A7 F8 1B 2E 3D 02
 : 09 53 55 A7 8E E6 14 E0 FD CF 10 96 7A 85 FB 3F
 : 69 F5 4C 34 A7 7E 20 25 3F D3 84 00 CA A9 F6 EA
 : 8F
289 3: INTEGER 65537
 : }
 : }
 : }

Regards,
Shahin Khorasani


hunter li wrote:
Hi, All,
I have the following code to generate the RSA data. But it always gives
me error:
5049:error:0906D064:lib(9):func(109):reason(100):pem_lib.c:756.
  
I do appreciate any suggestion! 
  
  
#include stdio.h
#include stdlib.h
#include stdint.h
#include string.h
  
#include openssl/bio.h
#include openssl/rsa.h
#include openssl/pem.h
#include openssl/err.h
  
int main(void)
{
  
RSA *public_key;
BIO *pub_bio;
  
char *publicKey_test = "-BEGIN PUBLIC
KEY-\nOTJjM2I3NTJmMmZlMzhkOTZjOTI2MjIxNzc0NjllNzM\
MWExMDk5MmZkNWY3MWE0N2JlMzRhMzcxMDZkZDNkMTk\
ZTUzNDc4OTY4OWQzM2FlYWRjMmQ2NWEzNGM5NjdjYzg\
ODQzMzNhNDI4YjEyODRjZmQ0ZGNkZjVjM2UyNDU5Njk\
NzNmMDAyZGEyMjIxZGM3NGM3NjdhYzZkYWIzYjc1YmE\
MzAwZmZlNzcxZmIzMGJhZTBhMzQ4OGUxYTBhYzU0MmI\
N2EwOTVlZWIzMzg1MWMwZWM2N2YwNDMzMzE3MTdkOTU\
ZjM2ZmFlM2NiMDI3MTdhMjQxNjc3YTRkNTI4ODNhZDM\
MzQ3ODE1N2IzZDcwODk0YjVmYzI3MTI5NmU4MjViOTU\
Y2Q1NTQ3M2ZlMWY5MzgzYmZjZTkzN2YyNmRhNjliOTY\
OGE0MjA4YzBiOTU1NDAyNDM1ZTcwYjY0NDE1OTE2MmE\
YjFmNmU4ODA5YTAwMWI2N2MwNDE4NzU3NWEwMGNkN2Q\
OTU0YTcxNzkyZTJiZjlhYjcxOTk1NzdmYjc2NWI3YjQ\
OWNmOGJmYjM3MGQxNDMxZGE3OGYwMTU4ODEwY2Y5OTI\
MWUxMzAyMzUzNTFmNjUyMjU4NjkzNjM3MTU1YmUyMzU\
NTQyYjhlYTIzMzI2NTE0ZTAzOGVlZjM4ZDVjZTBmNzc=\n-END PUBLIC KEY-";
  
pub_bio = BIO_new_mem_buf(publicKey_test, -1);
if(pub_bio == NULL) {
 ERR_print_errors_fp(stdout);
 return 1;
}
  
public_key = PEM_read_bio_RSA_PUBKEY(pub_bio, NULL, NULL, NULL);
if(public_key == NULL) {
 ERR_print_errors_fp(stdout);
  
}
 RSA_free(public_key);
  
return 0;
  
}
  
  
Here I try to convert the following public key raw data into PEM format.
I encode the data into base64 and add"-BEGIN PUBLIC KEY-",
"END PUBLIC KEY-".
The raw data is as following 256 Bytes:
92 c3 b7 52 f2 fe 38 d9 6c 92 62 21 77 46 9e 73
1a 10 99 2f d5 f7 1a 47 be 34 a3 71 06 dd 3d 19
e5 34 78 96 89 d3 3a ea dc 2d 65 a3 4c 96 7c c8
84 33 3a 42 8b 12 84 cf d4 dc df 5c 3e 24 59 69
73 f0 02 da 22 21 dc 74 c7 67 ac 6d ab 3b 75 ba
30 0f fe 77 1f b3 0b ae 0a 34 88 e1 a0 ac 54 2b
7a 09 5e eb 33 85 1c 0e c6 7f 04 33 31 71 7d 95
f3 6f ae 3c b0 27 17 a2 41 67 7a 4d 52 88 3a d3
34 78 15 7b 3d 70 89 4b 5f c2 71 29 6e 82 5b 95
cd 55 47 3f e1 f9 38 3b fc e9 37 f2 6d a6 9b 96
8a 42 08 c0 b9 55 40 24 35 e7 0b 64 41 59 16 2a
b1 f6 e8 80 9a 00 1b 67 c0 41 87 57 5a 00 cd 7d
95 4a 71 79 2e 2b f9 ab 71 99 57 7f b7 65 b7 b4
9c f8 bf b3 70 d1 43 1d a7 8f 01 58 81 0c f9 92
1e 13 02 35 35 1f 65 22 58 69 36 37 15 5b e2 35
54 2b 8e a2 33 26 51 4e 03 8e ef 38 d5 ce 0f 77
  
  
Thank you in advance!
  
Hunter



__
OpenSSL Project http://www.openssl.org
Development Mailing List   openssl-dev@openssl.org
Automated List Manager   majord...@openssl.org