| 
					
				 | 
			
			
				@@ -42,7 +42,7 @@ int main(int argc, char **argv) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     usage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return EXIT_FAILURE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  /* generating RSA key */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   BN_dec2bn(&rsa->e, argv[1]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   BN_dec2bn(&rsa->d, argv[2]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   BN_dec2bn(&rsa->p, argv[3]); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -53,13 +53,24 @@ int main(int argc, char **argv) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   BN_mod(rsa->dmq1, rsa->d, q1, ctx); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   BN_mod(rsa->dmp1, rsa->d, p1, ctx); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   BN_mod_inverse(rsa->iqmp, rsa->q, rsa->p, ctx); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  PEM_write_RSAPrivateKey(stdout, rsa, NULL, NULL, 0, NULL, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  /* PEM_write_RSAPrivateKey(stdout, rsa, NULL, NULL, 0, NULL, NULL); */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  /* creating public key */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  EVP_PKEY *pk; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  pk = EVP_PKEY_new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  EVP_PKEY_set1_RSA(pk, rsa); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  /* creating dummy certificate */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  X509* crt; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  crt = X509_new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (!X509_set_pubkey(crt, pk)) exit(EXIT_FAILURE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  PEM_write_X509(stdout, crt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  X509_free(crt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  EVP_PKEY_free(pk); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   BN_CTX_free(ctx); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   BN_free(q1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   BN_free(p1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RSA_free(rsa); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  return 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return EXIT_SUCCESS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |