Hallo Martin,
ich habe mir den offiziellen PHP-SDK-Code angesehen. Dort heißt es
$sConsKey = rawurlencode($this->_sConsumerSecret).'&'.$oToken->ic_secret;
$sSignature = urlencode(base64_encode(hash_hmac('sha1',$req->get_signature_base_string(),$sConsKey,true)));
Es werden rawurlencode und urlencode genutzt. So wie ich die PHP-Dokumentation verstehe, ist der Unterschied zw. den Funktionen gerade das Codieren von Plus und Leerzeichen. Der Verzicht auf Slashes und PLUS im Secret könnte somit wohl einiges einfacher machen.
Grüße
Bard