mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-07 15:03:09 -06:00
Find the complete key ID when uploading signatures
This commit is contained in:
parent
aad81b7b4d
commit
e94b989f37
|
|
@ -362,6 +362,12 @@ func (a *KeyInternalAPI) processSelfSignatures(
|
||||||
for targetKeyID, signature := range forTargetUserID {
|
for targetKeyID, signature := range forTargetUserID {
|
||||||
switch sig := signature.CrossSigningBody.(type) {
|
switch sig := signature.CrossSigningBody.(type) {
|
||||||
case *gomatrixserverlib.CrossSigningKey:
|
case *gomatrixserverlib.CrossSigningKey:
|
||||||
|
for keyID := range sig.Keys {
|
||||||
|
if gomatrixserverlib.KeyID(strings.SplitN(string(keyID), ":", 1)[1]) == keyID {
|
||||||
|
targetKeyID = keyID // contains the ed25519: or other scheme
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
for originUserID, forOriginUserID := range sig.Signatures {
|
for originUserID, forOriginUserID := range sig.Signatures {
|
||||||
for originKeyID, originSig := range forOriginUserID {
|
for originKeyID, originSig := range forOriginUserID {
|
||||||
if err := a.DB.StoreCrossSigningSigsForTarget(
|
if err := a.DB.StoreCrossSigningSigsForTarget(
|
||||||
|
|
@ -373,6 +379,12 @@ func (a *KeyInternalAPI) processSelfSignatures(
|
||||||
}
|
}
|
||||||
|
|
||||||
case *gomatrixserverlib.DeviceKeys:
|
case *gomatrixserverlib.DeviceKeys:
|
||||||
|
for keyID := range sig.Keys {
|
||||||
|
if gomatrixserverlib.KeyID(strings.SplitN(string(keyID), ":", 1)[1]) == keyID {
|
||||||
|
targetKeyID = keyID // contains the ed25519: or other scheme
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
for originUserID, forOriginUserID := range sig.Signatures {
|
for originUserID, forOriginUserID := range sig.Signatures {
|
||||||
for originKeyID, originSig := range forOriginUserID {
|
for originKeyID, originSig := range forOriginUserID {
|
||||||
if err := a.DB.StoreCrossSigningSigsForTarget(
|
if err := a.DB.StoreCrossSigningSigsForTarget(
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue