diff --git a/src/main/scala/gitbucket/core/controller/AccountController.scala b/src/main/scala/gitbucket/core/controller/AccountController.scala index 5ddc010..caddeab 100644 --- a/src/main/scala/gitbucket/core/controller/AccountController.scala +++ b/src/main/scala/gitbucket/core/controller/AccountController.scala @@ -447,8 +447,8 @@ private def validPublicKey: Constraint = new Constraint(){ override def validate(name: String, value: String, messages: Messages): Option[String] = SshUtil.str2PublicKey(value) match { - case Some(_) => None - case None => Some("Key is invalid.") + case Some(_) if !getAllKeys().exists(_.publicKey == value) => None + case _ => Some("Key is invalid.") } }