Office Servers and Services

"La connaissance ne vaut que si elle est partagée" / "An effective Knowledge is a shared one"

Lync Server 2013 – Set-CSCertificate : Command execution failed: The buffer supplied to a function was too small.

Posted by David ANDRE sur juillet 8, 2013


Bonjour,

Lors de l’un de mes déploiements Lync Server 2013, j’ai rencontré l’erreur suivante lors de l’assignation du certificat public sur les services Edge (SIP/WebConf) : « Set-CsCertificate : Command execution failed : The buffer supplied to a function was too small. »

Pour resituer l’environnement, j’étais en phase de migration Lync 2010 vers Lync 2013. Le certificat EDGE est resté le même (un certificat GoDaddy), il était donc déjà assigné sur un Edge 2010 sans aucun problème.

Après l’avoir exporté sur ma machine EDGE 2013, il m’était impossible de l’assigner alors que tous les éléments étaient OK (Root CA, CRL, Private Key…). Après quelques recherches, il s’avère que ce problème serait lié à la cryptographie du certificat. Là où nous avions l’habitude d’utiliser CryptoAPI, il est de plus en plus courant de voir des certificats type CNG (Cryptography Next Generation), ce qui était mon cas.

Dans ce genre de situation, si le certificat est issue de votre PKI, vous aurez moyen de modifier votre template pour utiliser CryptoAPI plutôt que CNG. Dans le cas d’un certificat public, deux choix se présentent à vous :

  • Voir avec votre fournisseur de certificat s’il est possible de changer de template
  • Utiliser un petit Workaround, à savoir :
    • Exporter votre certificat avec la clef privée depuis votre Edge (ce qui vous générera un .pfx)
    • Importer ce certificat sur une machine Windows XP
      • Pour faire simple, Windows XP ne sachant pas gérer les types CNG le transformera en Legacy CSP, qui sera pleinement compatible avec Lync 2013.
    • Exporter le certificat toujours avec sa clef privée, depuis la machine XP (vous voilà avec un nouveau .pfx)
    • Importer ce nouveau .pfx sur votre EDGE (en ayant pris soin de supprimer l’ancien certificat avant)
    • Relancer le Lync Deployment Wizard pour assigner ce certificat fraichement importé aux services Externes Edge (ou un simple Set-CsCertificate …)
    • Miracle, le certificat est bien assigné ! Même si je reste perplexe sur ce genre comportement étant donné qu’un même certificat fonctionne avec la version 2010 mais pas en 2013…

Have Fun !

David ANDRE

Laisser un commentaire

Choisissez une méthode de connexion pour poster votre commentaire:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

 
%d blogueurs aiment cette page :