<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'><div><span style="font-size: 12pt;">I'm searching but I cannot find nothing about the  error:00000000:lib(0):func(0):reason(0) when enabling FIPS mode. </span></div><div><span style="font-size: 12pt;"><br></span></div><div><hr id="stopSpelling">From: marcosbontempo@hotmail.com<br>To: openssl-users@openssl.org<br>Date: Sun, 27 Dec 2015 17:30:25 -0200<br>Subject: [openssl-users] FIPS_mode_set(1)     error:00000000:lib(0):func(0):reason(0)<br><br>


<div dir="ltr">

<style><!--
.ExternalClass .ecxhmmessage P {
padding:0px;
}

.ExternalClass body.ecxhmmessage {
font-size:12pt;
font-family:Calibri;
}

--></style>
<div dir="ltr">Hello, <div><br></div><div>I'm trying to enable FIPS mode with this code:</div><div><span style="font-size:12pt;">__________________________________________________________________</span></div><div><div>#include <openssl/crypto.h></div><div>#include <openssl/err.h></div><div>#include <stdio.h></div><div><br></div><div>int main ( int argc, char *argv[] )</div><div>{</div><div>#ifdef OPENSSL_FIPS </div><div><span class="ecxApple-tab-span" style="white-space:pre;">   </span>int mode, result;</div><div><br></div><div><span class="ecxApple-tab-span" style="white-space:pre;">       </span>// Get FIPS mode</div><div><span class="ecxApple-tab-span" style="white-space:pre;"> </span>if(strcmp("get",argv[1]) == 0)</div><div><span class="ecxApple-tab-span" style="white-space:pre;"> </span>{</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                </span>mode = FIPS_mode();</div><div><span class="ecxApple-tab-span" style="white-space:pre;">              </span>if(mode == 0)</div><div><span class="ecxApple-tab-span" style="white-space:pre;">            </span>{</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                        </span>printf("*** FIPS module is disabled. ***\n");</div><div><span class="ecxApple-tab-span" style="white-space:pre;">          </span>}</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                </span>if(mode == 1)</div><div><span class="ecxApple-tab-span" style="white-space:pre;">            </span>{</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                        </span>printf("*** FIPS module is enabled. ***\n");</div><div><span class="ecxApple-tab-span" style="white-space:pre;">           </span>}</div><div><span class="ecxApple-tab-span" style="white-space:pre;">        </span>}</div><div><span class="ecxApple-tab-span" style="white-space:pre;">        </span></div><div><span class="ecxApple-tab-span" style="white-space:pre;"> </span>// Set FIPS mode</div><div><span class="ecxApple-tab-span" style="white-space:pre;"> </span>else if(strcmp("set",argv[1]) == 0)</div><div><span class="ecxApple-tab-span" style="white-space:pre;">    </span>{</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                </span>if(strcmp("0",argv[2]) == 0)</div><div><span class="ecxApple-tab-span" style="white-space:pre;">           </span>{</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                        </span>printf("*** Disabling FIPS module. ***\n");</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                    </span>result = FIPS_mode_set(0);</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                       </span>if(result != 1)</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                  </span>{</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                                </span>ERR_load_crypto_strings();</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                               </span>printf("*** Failed to disable FIPS module. ***\n");<span class="ecxApple-tab-span" style="white-space:pre;">   </span></div><div><span class="ecxApple-tab-span" style="white-space:pre;">                         </span>printf("%s\n", ERR_error_string(ERR_get_error(), NULL));</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                               </span>return 1;</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                        </span>}</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                </span>}</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                </span>else if (strcmp("1",argv[2]) == 0)</div><div><span class="ecxApple-tab-span" style="white-space:pre;">             </span>{</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                        </span>printf("*** Enabling FIPS module. ***\n");</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                     </span>result = FIPS_mode_set(1);<span class="ecxApple-tab-span" style="white-space:pre;">      </span></div><div><span class="ecxApple-tab-span" style="white-space:pre;">                 </span>if(result != 1)</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                  </span>{</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                                </span>ERR_load_crypto_strings();</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                               </span>printf("*** Failed to enable FIPS module. ***\n");<span class="ecxApple-tab-span" style="white-space:pre;">    </span></div><div><span class="ecxApple-tab-span" style="white-space:pre;">                         </span>printf("%s\n", ERR_error_string(ERR_get_error(), NULL));</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                               </span>return 1;</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                        </span>}<span class="ecxApple-tab-span" style="white-space:pre;">       </span></div><div><span class="ecxApple-tab-span" style="white-space:pre;">         </span>}</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                </span>else</div><div><span class="ecxApple-tab-span" style="white-space:pre;">             </span>{</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                        </span>printf("*** Error: unsupported option. ***\n");</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                        </span>return 1;</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                </span>}</div><div><span class="ecxApple-tab-span" style="white-space:pre;">        </span>}</div><div><br></div><div><span class="ecxApple-tab-span" style="white-space:pre;">       </span>// Unsupported option</div><div><span class="ecxApple-tab-span" style="white-space:pre;">    </span>else</div><div><span class="ecxApple-tab-span" style="white-space:pre;">     </span>{</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                </span>printf("*** Error: unsupported option. ***\n");</div><div><span class="ecxApple-tab-span" style="white-space:pre;">                </span>return 1;</div><div><span class="ecxApple-tab-span" style="white-space:pre;">        </span>}</div><div><br></div><div><span class="ecxApple-tab-span" style="white-space:pre;">       </span>return 0;</div><div><br></div><div>#else </div><div>        printf("OPENSSL_FIPS is not defined"); </div><div><br></div><div>#endif //OPENSSL_FIPS </div><div>}   </div></div><div>__________________________________________________________________</div><div><br></div><div>And with this Makefile:</div><div><br></div><div>__________________________________________________________________</div><div><div>CC=gcc</div><div>OPENSSLDIR=/usr/local/ssl</div><div>LIBS=$(OPENSSLDIR)/lib/libcrypto.a $(OPENSSLDIR)/lib/libssl.a -ldl </div><div>INCLUDES=-I$(OPENSSLDIR)/include</div><div>CMD=fipsctl</div><div><br></div><div>OBJS=$(CMD).o</div><div><br></div><div>$(CMD): $(OBJS)</div><div><span class="ecxApple-tab-span" style="white-space:pre;">  </span>FIPSLD_CC=$(CC) $(OPENSSLDIR)/bin/fipsld -o $(CMD) $(OBJS) -ldl \</div><div><span class="ecxApple-tab-span" style="white-space:pre;">        </span>$(LIBS)</div><div><br></div><div>$(OBJS): $(CMD).c</div><div><span class="ecxApple-tab-span" style="white-space:pre;"> </span>$(CC) -c $(CMD).c $(INCLUDES)</div><div><br></div><div>clean:</div><div><span class="ecxApple-tab-span" style="white-space:pre;">      </span>rm -Rf *.o $(CMD)</div></div><div>__________________________________________________________________</div><div><br></div><div>It compiles without errors. When I try to enable FIPS mode, I get this output:</div><div><br></div><div><div>arm:~/nitere/new$ ./fipsctl set 1</div><div>*** Enabling FIPS module. ***</div><div>*** Failed to enable FIPS module. ***</div><div>error:00000000:lib(0):func(0):reason(0)</div></div><div><br></div><div>But FIPS is still disabled:</div><div><br></div><div><div>arm:~/nitere/new$ ./fipsctl get</div><div>*** FIPS module is disabled. ***</div></div><div><br></div><div>Does somebody knows what is wrong?</div><div><br></div><div>Any tip will be very helpful,</div><div>Thanks.</div><div><br></div></div>
                                          </div>
<br>_______________________________________________
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users</div>                                        </div></body>
</html>