正在显示
1 个修改的文件
包含
128 行增加
和
128 行删除
@@ -833,127 +833,6 @@ namespace _srs_internal | @@ -833,127 +833,6 @@ namespace _srs_internal | ||
833 | } | 833 | } |
834 | } | 834 | } |
835 | 835 | ||
836 | - c2s2::c2s2() | ||
837 | - { | ||
838 | - srs_random_generate(random, 1504); | ||
839 | - | ||
840 | - int size = snprintf(random, 1504, "%s", RTMP_SIG_SRS_HANDSHAKE); | ||
841 | - srs_assert(++size < 1504); | ||
842 | - snprintf(random + 1504 - size, size, "%s", RTMP_SIG_SRS_HANDSHAKE); | ||
843 | - | ||
844 | - srs_random_generate(digest, 32); | ||
845 | - } | ||
846 | - | ||
847 | - c2s2::~c2s2() | ||
848 | - { | ||
849 | - } | ||
850 | - | ||
851 | - void c2s2::dump(char* _c2s2) | ||
852 | - { | ||
853 | - memcpy(_c2s2, random, 1504); | ||
854 | - memcpy(_c2s2 + 1504, digest, 32); | ||
855 | - } | ||
856 | - | ||
857 | - void c2s2::parse(char* _c2s2) | ||
858 | - { | ||
859 | - memcpy(random, _c2s2, 1504); | ||
860 | - memcpy(digest, _c2s2 + 1504, 32); | ||
861 | - } | ||
862 | - | ||
863 | - int c2s2::c2_create(c1s1* s1) | ||
864 | - { | ||
865 | - int ret = ERROR_SUCCESS; | ||
866 | - | ||
867 | - char temp_key[__SRS_OpensslHashSize]; | ||
868 | - if ((ret = openssl_HMACsha256(SrsGenuineFPKey, 62, s1->get_digest(), 32, temp_key)) != ERROR_SUCCESS) { | ||
869 | - srs_error("create c2 temp key failed. ret=%d", ret); | ||
870 | - return ret; | ||
871 | - } | ||
872 | - srs_verbose("generate c2 temp key success."); | ||
873 | - | ||
874 | - char _digest[__SRS_OpensslHashSize]; | ||
875 | - if ((ret = openssl_HMACsha256(temp_key, 32, random, 1504, _digest)) != ERROR_SUCCESS) { | ||
876 | - srs_error("create c2 digest failed. ret=%d", ret); | ||
877 | - return ret; | ||
878 | - } | ||
879 | - srs_verbose("generate c2 digest success."); | ||
880 | - | ||
881 | - memcpy(digest, _digest, 32); | ||
882 | - | ||
883 | - return ret; | ||
884 | - } | ||
885 | - | ||
886 | - int c2s2::c2_validate(c1s1* s1, bool& is_valid) | ||
887 | - { | ||
888 | - is_valid = false; | ||
889 | - int ret = ERROR_SUCCESS; | ||
890 | - | ||
891 | - char temp_key[__SRS_OpensslHashSize]; | ||
892 | - if ((ret = openssl_HMACsha256(SrsGenuineFPKey, 62, s1->get_digest(), 32, temp_key)) != ERROR_SUCCESS) { | ||
893 | - srs_error("create c2 temp key failed. ret=%d", ret); | ||
894 | - return ret; | ||
895 | - } | ||
896 | - srs_verbose("generate c2 temp key success."); | ||
897 | - | ||
898 | - char _digest[__SRS_OpensslHashSize]; | ||
899 | - if ((ret = openssl_HMACsha256(temp_key, 32, random, 1504, _digest)) != ERROR_SUCCESS) { | ||
900 | - srs_error("create c2 digest failed. ret=%d", ret); | ||
901 | - return ret; | ||
902 | - } | ||
903 | - srs_verbose("generate c2 digest success."); | ||
904 | - | ||
905 | - is_valid = srs_bytes_equals(digest, _digest, 32); | ||
906 | - | ||
907 | - return ret; | ||
908 | - } | ||
909 | - | ||
910 | - int c2s2::s2_create(c1s1* c1) | ||
911 | - { | ||
912 | - int ret = ERROR_SUCCESS; | ||
913 | - | ||
914 | - char temp_key[__SRS_OpensslHashSize]; | ||
915 | - if ((ret = openssl_HMACsha256(SrsGenuineFMSKey, 68, c1->get_digest(), 32, temp_key)) != ERROR_SUCCESS) { | ||
916 | - srs_error("create s2 temp key failed. ret=%d", ret); | ||
917 | - return ret; | ||
918 | - } | ||
919 | - srs_verbose("generate s2 temp key success."); | ||
920 | - | ||
921 | - char _digest[__SRS_OpensslHashSize]; | ||
922 | - if ((ret = openssl_HMACsha256(temp_key, 32, random, 1504, _digest)) != ERROR_SUCCESS) { | ||
923 | - srs_error("create s2 digest failed. ret=%d", ret); | ||
924 | - return ret; | ||
925 | - } | ||
926 | - srs_verbose("generate s2 digest success."); | ||
927 | - | ||
928 | - memcpy(digest, _digest, 32); | ||
929 | - | ||
930 | - return ret; | ||
931 | - } | ||
932 | - | ||
933 | - int c2s2::s2_validate(c1s1* c1, bool& is_valid) | ||
934 | - { | ||
935 | - is_valid = false; | ||
936 | - int ret = ERROR_SUCCESS; | ||
937 | - | ||
938 | - char temp_key[__SRS_OpensslHashSize]; | ||
939 | - if ((ret = openssl_HMACsha256(SrsGenuineFMSKey, 68, c1->get_digest(), 32, temp_key)) != ERROR_SUCCESS) { | ||
940 | - srs_error("create s2 temp key failed. ret=%d", ret); | ||
941 | - return ret; | ||
942 | - } | ||
943 | - srs_verbose("generate s2 temp key success."); | ||
944 | - | ||
945 | - char _digest[__SRS_OpensslHashSize]; | ||
946 | - if ((ret = openssl_HMACsha256(temp_key, 32, random, 1504, _digest)) != ERROR_SUCCESS) { | ||
947 | - srs_error("create s2 digest failed. ret=%d", ret); | ||
948 | - return ret; | ||
949 | - } | ||
950 | - srs_verbose("generate s2 digest success."); | ||
951 | - | ||
952 | - is_valid = srs_bytes_equals(digest, _digest, 32); | ||
953 | - | ||
954 | - return ret; | ||
955 | - } | ||
956 | - | ||
957 | // TODO: FIXME: move to the right position. | 836 | // TODO: FIXME: move to the right position. |
958 | c1s1::c1s1() | 837 | c1s1::c1s1() |
959 | { | 838 | { |
@@ -1052,13 +931,6 @@ namespace _srs_internal | @@ -1052,13 +931,6 @@ namespace _srs_internal | ||
1052 | return payload->c1_validate_digest(this, is_valid); | 931 | return payload->c1_validate_digest(this, is_valid); |
1053 | } | 932 | } |
1054 | 933 | ||
1055 | - int c1s1::s1_validate_digest(bool& is_valid) | ||
1056 | - { | ||
1057 | - is_valid = false; | ||
1058 | - srs_assert(payload); | ||
1059 | - return payload->s1_validate_digest(this, is_valid); | ||
1060 | - } | ||
1061 | - | ||
1062 | int c1s1::s1_create(c1s1* c1) | 934 | int c1s1::s1_create(c1s1* c1) |
1063 | { | 935 | { |
1064 | int ret = ERROR_SUCCESS; | 936 | int ret = ERROR_SUCCESS; |
@@ -1081,6 +953,134 @@ namespace _srs_internal | @@ -1081,6 +953,134 @@ namespace _srs_internal | ||
1081 | 953 | ||
1082 | return payload->s1_create(this); | 954 | return payload->s1_create(this); |
1083 | } | 955 | } |
956 | + | ||
957 | + int c1s1::s1_validate_digest(bool& is_valid) | ||
958 | + { | ||
959 | + is_valid = false; | ||
960 | + srs_assert(payload); | ||
961 | + return payload->s1_validate_digest(this, is_valid); | ||
962 | + } | ||
963 | + | ||
964 | + c2s2::c2s2() | ||
965 | + { | ||
966 | + srs_random_generate(random, 1504); | ||
967 | + | ||
968 | + int size = snprintf(random, 1504, "%s", RTMP_SIG_SRS_HANDSHAKE); | ||
969 | + srs_assert(++size < 1504); | ||
970 | + snprintf(random + 1504 - size, size, "%s", RTMP_SIG_SRS_HANDSHAKE); | ||
971 | + | ||
972 | + srs_random_generate(digest, 32); | ||
973 | + } | ||
974 | + | ||
975 | + c2s2::~c2s2() | ||
976 | + { | ||
977 | + } | ||
978 | + | ||
979 | + void c2s2::dump(char* _c2s2) | ||
980 | + { | ||
981 | + memcpy(_c2s2, random, 1504); | ||
982 | + memcpy(_c2s2 + 1504, digest, 32); | ||
983 | + } | ||
984 | + | ||
985 | + void c2s2::parse(char* _c2s2) | ||
986 | + { | ||
987 | + memcpy(random, _c2s2, 1504); | ||
988 | + memcpy(digest, _c2s2 + 1504, 32); | ||
989 | + } | ||
990 | + | ||
991 | + int c2s2::c2_create(c1s1* s1) | ||
992 | + { | ||
993 | + int ret = ERROR_SUCCESS; | ||
994 | + | ||
995 | + char temp_key[__SRS_OpensslHashSize]; | ||
996 | + if ((ret = openssl_HMACsha256(SrsGenuineFPKey, 62, s1->get_digest(), 32, temp_key)) != ERROR_SUCCESS) { | ||
997 | + srs_error("create c2 temp key failed. ret=%d", ret); | ||
998 | + return ret; | ||
999 | + } | ||
1000 | + srs_verbose("generate c2 temp key success."); | ||
1001 | + | ||
1002 | + char _digest[__SRS_OpensslHashSize]; | ||
1003 | + if ((ret = openssl_HMACsha256(temp_key, 32, random, 1504, _digest)) != ERROR_SUCCESS) { | ||
1004 | + srs_error("create c2 digest failed. ret=%d", ret); | ||
1005 | + return ret; | ||
1006 | + } | ||
1007 | + srs_verbose("generate c2 digest success."); | ||
1008 | + | ||
1009 | + memcpy(digest, _digest, 32); | ||
1010 | + | ||
1011 | + return ret; | ||
1012 | + } | ||
1013 | + | ||
1014 | + int c2s2::c2_validate(c1s1* s1, bool& is_valid) | ||
1015 | + { | ||
1016 | + is_valid = false; | ||
1017 | + int ret = ERROR_SUCCESS; | ||
1018 | + | ||
1019 | + char temp_key[__SRS_OpensslHashSize]; | ||
1020 | + if ((ret = openssl_HMACsha256(SrsGenuineFPKey, 62, s1->get_digest(), 32, temp_key)) != ERROR_SUCCESS) { | ||
1021 | + srs_error("create c2 temp key failed. ret=%d", ret); | ||
1022 | + return ret; | ||
1023 | + } | ||
1024 | + srs_verbose("generate c2 temp key success."); | ||
1025 | + | ||
1026 | + char _digest[__SRS_OpensslHashSize]; | ||
1027 | + if ((ret = openssl_HMACsha256(temp_key, 32, random, 1504, _digest)) != ERROR_SUCCESS) { | ||
1028 | + srs_error("create c2 digest failed. ret=%d", ret); | ||
1029 | + return ret; | ||
1030 | + } | ||
1031 | + srs_verbose("generate c2 digest success."); | ||
1032 | + | ||
1033 | + is_valid = srs_bytes_equals(digest, _digest, 32); | ||
1034 | + | ||
1035 | + return ret; | ||
1036 | + } | ||
1037 | + | ||
1038 | + int c2s2::s2_create(c1s1* c1) | ||
1039 | + { | ||
1040 | + int ret = ERROR_SUCCESS; | ||
1041 | + | ||
1042 | + char temp_key[__SRS_OpensslHashSize]; | ||
1043 | + if ((ret = openssl_HMACsha256(SrsGenuineFMSKey, 68, c1->get_digest(), 32, temp_key)) != ERROR_SUCCESS) { | ||
1044 | + srs_error("create s2 temp key failed. ret=%d", ret); | ||
1045 | + return ret; | ||
1046 | + } | ||
1047 | + srs_verbose("generate s2 temp key success."); | ||
1048 | + | ||
1049 | + char _digest[__SRS_OpensslHashSize]; | ||
1050 | + if ((ret = openssl_HMACsha256(temp_key, 32, random, 1504, _digest)) != ERROR_SUCCESS) { | ||
1051 | + srs_error("create s2 digest failed. ret=%d", ret); | ||
1052 | + return ret; | ||
1053 | + } | ||
1054 | + srs_verbose("generate s2 digest success."); | ||
1055 | + | ||
1056 | + memcpy(digest, _digest, 32); | ||
1057 | + | ||
1058 | + return ret; | ||
1059 | + } | ||
1060 | + | ||
1061 | + int c2s2::s2_validate(c1s1* c1, bool& is_valid) | ||
1062 | + { | ||
1063 | + is_valid = false; | ||
1064 | + int ret = ERROR_SUCCESS; | ||
1065 | + | ||
1066 | + char temp_key[__SRS_OpensslHashSize]; | ||
1067 | + if ((ret = openssl_HMACsha256(SrsGenuineFMSKey, 68, c1->get_digest(), 32, temp_key)) != ERROR_SUCCESS) { | ||
1068 | + srs_error("create s2 temp key failed. ret=%d", ret); | ||
1069 | + return ret; | ||
1070 | + } | ||
1071 | + srs_verbose("generate s2 temp key success."); | ||
1072 | + | ||
1073 | + char _digest[__SRS_OpensslHashSize]; | ||
1074 | + if ((ret = openssl_HMACsha256(temp_key, 32, random, 1504, _digest)) != ERROR_SUCCESS) { | ||
1075 | + srs_error("create s2 digest failed. ret=%d", ret); | ||
1076 | + return ret; | ||
1077 | + } | ||
1078 | + srs_verbose("generate s2 digest success."); | ||
1079 | + | ||
1080 | + is_valid = srs_bytes_equals(digest, _digest, 32); | ||
1081 | + | ||
1082 | + return ret; | ||
1083 | + } | ||
1084 | } | 1084 | } |
1085 | 1085 | ||
1086 | #endif | 1086 | #endif |
-
请 注册 或 登录 后发表评论