31 bool Sign(
const std::vector<std::string> &
args) {
32 std::map<std::string, std::string> args_map;
43 bssl::UniquePtr<EVP_PKEY>
key(
50 if (args_map.count(
"-digest")) {
53 fprintf(
stderr,
"Unknown digest algorithm: %s\n",
54 args_map[
"-digest"].
c_str());
59 bssl::ScopedEVP_MD_CTX
ctx;
64 std::vector<uint8_t>
data;
66 fprintf(
stderr,
"Error reading input.\n");
71 std::unique_ptr<uint8_t[]> sig(
new uint8_t[sig_len]);
77 if (fwrite(sig.get(), 1, sig_len,
stdout) != sig_len) {
78 fprintf(
stderr,
"Error writing signature.\n");