crypto: fix return Local Handle w/o scope.Close()

A New String was being created and returned, but was not sent through
the scope.Close(), which caused it to be cleaned up before being
returned.

Partial fix for #5319

@indutny, if we want a unit test I'll need your assistance. Now sure how to trigger this in a timely manner.