我希望每次系统启动时都按照我的要求设置密码套装。但是,如果我考虑在SSL_CTX_set_cipher_list()
中意外写入错误的密码字符串的情况,则无法添加密码并且最终没有与系统的https连接。为了解决这个问题,我计划添加一些恢复,在这种情况下如果它无法设置用户定义的密码,它将使用默认字符串设置连接,这样我的系统就无法启动而没有https连接。如果我通过了正确的字符串到SSL_CTX_set_cipher_list()
功能它的工作原理。从理论上讲,这似乎是完美的,但是当涉及到实际问题时它会非常糟糕。这是我的代码,
ret = SSL_CTX_set_cipher_list (pMudPort->pMudPortSSLState->pSSLCtx,"Temp");
printf("Return = %d -------------------\n",ret);
if(!ret)
{
printf("fail to set cipher -------------------\n");
printf("setting to default -------------------\n");
SSL_CTX_set_cipher_list (pMudPort->pMudPortSSLState->pSSLCtx,
pSSLConfiguration->pCipherList);
}
下面, "温度"只是为了确保它第一次失败。 即使我第二次覆盖密码字符串,我的系统也不支持https。 是否是重新设置密码的正确方法,或者我需要在再次分配密码之前清理一些内容?