Я пытаюсь запустить несколько строк openssl в линейном порядке, используя execlp ():
execlp("openssl","genrsa","-out","rsaprivatekey.pem","2048",(char*) 0);
printf("RSA private success");
execlp("openssl","rsa","-in","rsaprivatekey.pem","-pubout","-out","rsapublickey.pem",(char*) 0);
printf("RSA public success");
execlp("openssl","dgst","-sha1","-sign","rsaprivatekey.pem","-out","1.cipher","1",(char*) 0);
printf("SHA1 sign success");
execlp("openssl","dgst","-sha1","-verify","rsapublickey.pem","-signature","1.cipher","1",(char*) 0);
printf("SHA1 verify success");
В этом случае выполняется только первая строка.Я попытался объединить все в одном execlp () и использовать && для разделения команд, но все еще безрезультатно.Может ли кто-нибудь помочь мне в этом?