programing

keytool 오류: java.io .IoException:잘못된 ABA 형식

oldcodes 2023. 8. 27. 09:52
반응형

keytool 오류: java.io .IoException:잘못된 ABA 형식

저는 안드로이드 개발에 익숙하지 않습니다. 애플리케이션에 서명하려고 할 때 다음과 같은 오류가 발생했습니다.이 문제에 대해 누가 저를 도와줄 수 있나요?

keytool error :java.io.IoException:Incorrect AVA format

포럼에서 몇 가지 해결책을 찾았습니다. 예를 들어 다음을 실행해야 합니다.debug.keystore하지만 전 성공하지 못했습니다.

이름, 조직 또는 다른 곳의 필드에 잘못된 문자(예: (콤마))를 입력했을 수 있습니다.

물론, 만약 당신이 정말 원한다면, 어떤 캐릭터는 \sign으로 탈출할 수 있습니다.

(+ 기호) 기호도 이 문제의 원인이 됩니다.(사람들은 종종 국가 코드 필드에 + 기호를 사용하는 경향이 있습니다.)

Eclipse ADT로 서명된 .apk 파일을 내보내는 동안 오류가 발생했습니다.그 오류는 당신의 오류와 같습니다.저의 경우 국가 코드 앞에 + 기호를 사용했습니다.이 이름에서 + 기호를 제거하여 문제를 해결하고 서명된 .apk 파일을 완전히 내보낼 수 있습니다.또한 이 오류는 쉼표, 슬래시, 세미콜론, 따옴표를 사용할 때 발생할 수 있습니다.

pk를 내보내는 동안 특수 문자를 사용하려고 했습니다.apk를 만드는 동안 표시된 필드에는 이러한 특수 문자를 사용할 수 없습니다.특수 문자 집합에는 다음이 포함됩니다.

  • 쉼표(,)
  • 추가 기호(+)
  • 따옴표(")
  • 백슬래시("\")
  • 각진 대괄호(< 및 >)
  • 세미콜론(;)

국가 코드를 변경하여 다음 예외를 해결했습니다.

+91로.India

고유 이름 옵션을 전혀 설정하지 않았을 때 이 오류가 발생했습니다.이 문제는 옵션을 유효한 형식의 문자열로 설정하여 수정되었습니다.

이 명령이 AVA 형식 예외로 인해 실패했습니다. (가독성을 위해 줄 바꿈 추가)

C:\Program Files\Java\jdk1.6.0_45\jre\bin>keytool 
-genkey -v -dname PatrickTaylor -validity 10000 
-keystore C:\drops\patrickkeystore 

이 명령이 성공적으로 완료되었습니다.

C:\Program Files\Java\jdk1.6.0_45\jre\bin>keytool 
-genkey -v -dname PatrickTaylor -validity 10000 
-keystore C:\drops\patrickkeystore 
-dname "cn=Patrick Taylor, ou=engineering, o=company, c=US"

특수 문자/모든 좋은 답변을 피하는 것이 문제일 수 있습니다./ 정확한 답변을 제공하기 위해 실제 "키 툴" 명령줄을 그렇게 어렵게 공유하지 않았습니다.pub/priv 키 쌍("-genkeypair" param)을 생성하려는 경우 한 가지 문제는 특정 주체 구분 이름("-dname" arg)이 올바른 X.500 ABA("속성/값" Assertion) 형식으로 지정되지 않았다는 것입니다.예를 들어 CN 앞에 있는 "CN="을 생략하면 다음과 같이 됩니다.

keytool ... -dname="CN=SomeCertSubject" ...

이 구분 이름 매개 변수에서 "CN"("공통 이름")은 "속성"이고 "SomeCertSubject"는 "값"입니다.

"아마도 이름, 조직 또는 다른 곳의 필드에 잘못된 문자(, (콤마)와 같은 문자)를 입력했을 것입니다.저를 위해 일했습니다.나는 주나 지방에 콤마를 가지고 있었습니다.+91의 +는 특수 문자이므로 규칙에 따라 이 답변을 답변으로 표시하십시오.

입력을 잘못했습니다.+그래서 아래와 같이 값을 변경했습니다.

+77

저한테는 효과가 있어요.

Android Studio에서 Signed APK를 생성하려고 할 때 흔히 있는 실수입니다.따라서 Keystore 파일에서는 (, \ + - * / < > ' ")와 같은 특수 문자나 기호를 사용할 수 없습니다. 그렇지 않으면 java.io 가 표시됩니다.IoException.

데모를 참조하십시오. Keystore 파일을 채우는 방법:

암호: 특수 문자나 기호가 없는 모든 항목

별칭: Key0(사용자에 따라 다름)

유효기간(년): 25(자정)

이름 및 성:당신의 고유한 이름이지만 $unny @dam과 같은 특별한 문자를 당신의 이름에 사용하지 마세요.

조직 구성 단위: 조직 이름

조직:조직 이름

도시 또는 지역:도시 이름

시/도:사용자의 시/도 이름

국가 코드(XX): 국가 코드를 사용하여 모르는 경우 Google을 검색합니다.

그런 다음 확인을 클릭합니다.

언급URL : https://stackoverflow.com/questions/11808391/keytool-error-java-io-ioexceptionincorrect-ava-format

반응형