Implemented requesting certs
authorMatthias Kalle Dalheimer <kalle@kdab.net>
Wed, 17 Apr 2002 14:16:53 +0000 (14:16 +0000)
committerMatthias Kalle Dalheimer <kalle@kdab.net>
Wed, 17 Apr 2002 14:16:53 +0000 (14:16 +0000)
gpgmeplug/cryptplug.h
gpgmeplug/gpgmeplug.c

index c390b6e..fddaf17 100644 (file)
@@ -1596,12 +1596,9 @@ const char* requestCertificateDialog( void );
 
 /*! \ingroup groupCertAct
    \brief Generates a prototype certificate with the data provided
-        in the first four parameters and sends it via email to the CA
-          specified in \c ca_address.
+        in the four parameter.
 */
-bool requestDecentralCertificate( const char* name, const char*
-          email, const char* organization, const char* department,
-          const char* ca_address );
+bool requestDecentralCertificate( const char* certparms, char** generatedKey );
 
 /*! \ingroup groupCertAct
    \brief Requests a certificate in a PSE from the CA
index 74fb3c2..342c7bd 100644 (file)
@@ -1510,9 +1510,24 @@ bool decryptAndCheckMessage( const char* ciphertext,
 
 const char* requestCertificateDialog(){ return 0; }
 
-bool requestDecentralCertificate( const char* name, const char*
-          email, const char* organization, const char* department,
-          const char* ca_address ){ return true; }
+bool requestDecentralCertificate( const char* certparms, char** generatedKey )
+{
+    GpgmeCtx ctx;
+    GpgmeError err = gpgme_new (&ctx);
+    if( err != GPGME_No_Error )
+        return false;
+
+    gpgme_set_protocol (ctx, GPGMEPLUG_PROTOCOL);
+
+    gpgme_set_armor (ctx, __GPGMEPLUG_SIGNATURE_CODE_IS_BINARY ? 0 : 1);
+
+    if( gpgme_op_genkey( ctx, certparms, NULL, NULL ) == GPGME_No_Error )
+        return true;
+    else
+        return false;
+
+    gpgme_release( ctx );
+}
 
 bool requestCentralCertificateAndPSE( const char* name,
           const char* email, const char* organization, const char* department,