public function getSignature($baseString, array $params) {
        // Remove oauth_signature if present
        // Ref: Spec: 9.1.1 ("The oauth_signature parameter MUST be excluded.")
        unset($params['oauth_signature']);

        if ($this->signature_method === 'HMAC-SHA1') {
            $result = $this->sign_HMAC_SHA1($baseString);
        }
        else if ($this->signature_method == 'RSA-SHA1') {
            $result = $this->sign_RSA_SHA1($baseString);
        }
        else if ($this->signature_method == 'PLAINTEXT') {
            $result = $this->sign_PLAINTEXT($baseString);
        }
        else {
            throw new ArtaxServiceException('Unknown signature method: '
                . $this->signature_method);
        }

        return base64_encode($result);
    }