Je travaille sur ONVIF d'envoyer "GetDeviceInformation". C'est nécessaire wsse: UsernameToken. Après la recherche de données pour l'autorité, il y a deux faormula:quelle est la formule de ONVIF #PasswordDigest
(1) par "ONVIF-Core-Spécification-v241.pdf", "5.12.2.1 dérivation Mot de passe"
PE_UA = base64(HMAC_SHA-1(UA+P_UA,NEP+”ONVIF password”))
(2) par savon de protocole WEB
Digest = B64ENCODE(SHA1(B64DECODE(Nonce) + Date + Password))
Je suis confus !! lequel est correct?
De plus, quand je outil de test de test ONVIF par Wireshark
XML je suis comme:
<wsse:UsernameToken> <wsse:Username>admin</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">lu9ywjDwSt8oW7M4tMjCb50/xRg=</wsse:Password> <wsse:Nonce>TgBYFHxSc3Oo8yPzwnQn8A==</wsse:Nonce> <wsu:Created>2014-06-20T04:41:45Z</wsu:Created> </wsse:UsernameToken>
ok, alors je l'ai essayer de comprendre la formule par ces données .
a> nom d'utilisateur: "admin"
b> Mot de passe: "pass" (non entropie)
c> nonce: "TgBYFHxSc3Oo8yPzwnQn8A =="
d> créé: "2014-06-20T04: 41: 45Z"
en quelque sorte pour obtenir la fina l mot de passe: "lu9ywjDwSt8oW7M4tMjCb50/Xrg ="
le "nonce" peut convertir en base64 si l'original doit être "4E0058147C527373A8F323F3C27427F0"
J'ai essayez d'utiliser
base64(SHA1("TgBYFHxSc3Oo8yPzwnQn8A==2014-06-12T04:03:45Zpass"))
ou
base64(SHA1("4E0058147C527373A8F323F3C27427F0==2014-06-12T04:03:45Zpass"))
mais je ne peux toujours pas envoyer le mot de passe par l'outil de test « lu9ywjDwSt8oW7M4tMjCb50/Xrg = »
quelqu'un pourrait m'aider à comprendre quelle est la formule exacte utilisée par l'outil de test ONVIF?
Avez-vous besoin de votre aide !!! Merci!!
Merci beaucoup! Cela m'a aidé à comprendre mon problème. Juste pour le bénéfice des autres à l'avenir, j'ai rassemblé un aperçu avec un exemple de code: https://gist.github.com/lsowen/1a46f9d5fc026e6efc7d – lsowen