qDebug() << &context;
Бесполезная операция. В смысле, это, вероятно, не то чего вы хотите добиться. context это на 99% и есть указатель (посмотрите на название типа: PCCERT_CONTEXT, да и всегда можно открыть декларацию этого типа и посмотреть, что там). Если это указатель (что логично, т.к. CertCreateCertificateContext создает некий тяжелый объект, и возвращает вам указатель на него), то нужно вывести сам указатель, а не указатель-на-указатель как сделали вы:
qDebug() << context;
И тогда, возможно, вы увидите, что он NULL. А ежели он NULL (что вы должны проверять), то его не стоит передавать параметром в CertAddCertificateContextToStore, т.к. вероятно она ожидает там нормальный объект, и сама не обрабатывает NULL (да и зачем ей это делать). Скорее всего по этой причине в этой функции происходит segfault.