code: function verifySignature(parsedSignature, pubkey) {
      assert.object(parsedSignature, 'parsedSignature');
      if (typeof (pubkey) === 'string' || Buffer.isBuffer(pubkey))
        pubkey = sshpk.parseKey(pubkey);
      assert.ok(sshpk.Key.isKey(pubkey, [1, 1]), 'pubkey must be a sshpk.Key');
  
      var alg = validateAlgorithm(parsedSignature.algorithm);
      if (alg[0] === 'hmac' || alg[0] !== pubkey.type)
        return (false);
  
      var v = pubkey.createVerify(alg[1]);
      v.update(parsedSignature.signingString);
      return (v.verify(parsedSignature.params.signature, 'base64'));
    }
docs: Verify RSA/DSA signature against public key.  You are expected to pass in
  an object that was returned from `parse()`.
  
  @param {Object} parsedSignature the object you got from `parse`.
  @param {String} pubkey RSA/DSA private key PEM.
  @return {Boolean} true if valid, false otherwise.
  @throws {TypeError} if you pass in bad arguments.
  @throws {InvalidAlgorithmError}