728x90

장비 라이센스 관련해서 자주 거론되는 fingerprint 즉 디지털 지문관련해서 생성법을 듣지 못해서 구현을 고민한 적이 있었습니다.

장비 사양을 조회하여 암호화하여 디지털인증키로 만들자 라는 이야기를 많이 했었습니다. 

이번에 모바일 앱을 만들어 보려하니 구글 OAuth에서 jdk에 포함되어 있는 keytool 를 사용해서 만드는 것이 있어서 정리해 둘까 합니다.


Google Cloud OAuth 클라이언트 ID 만들기 디지털 지문 생성 방법 ( 필요시 복사 사용할 수 있도록 참고구문을 앞에 두었습니다. )

더보기

새로운 RSA 키 생성 후 SHA-1 지문 얻기
RSA 키 생성:

keytool -genkeypair -v -keystore my-release-key.keystore -alias mykey -keyalg RSA -keysize 2048 -validity 10000

SHA-1 지문 확인:

keytool -list -v -alias mykey -keystore my-release-key.keystore

생성 시 입력한 비밀번호를 사용합니다.

# 발급한 키 조회
## windows
> keytool -list -v -alias androiddebugkey -keystore 
## macOS/Linux 환경
> keytool -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore


배포(릴리즈)용 SHA-1 인증서 지문 얻기
배포용 키스토어를 사용 중이라면, 아래처럼 입력합니다.
> keytool -list -v -alias [별칭] -keystore [키스토어 경로]
[별칭]에는 생성한 키의 alias를, [키스토어 경로]에는 실제 키스토어 파일 경로를 입력합니다

 


jdk bin 폴더에 keytool이 있고 초기 설정을 안하고 실행하면 오류가 발생합니다.

> keytool -list -v
keytool 오류: java.lang.Exception: 키 저장소 파일이 존재하지 않음

 

초기 설정이라고 보면 안되겠네요. 생성한 키 정보가 없어서 키 저장소 폴더에도 없다고 해석하는 것이 맞을것 같습니다.

기본 입력항목들은 다음과 같습니다.

> keytool -genkey -v -keystore my-release-key.keystore -alias mykey -keyalg RSA -keysize 2048 -validity 10000

키 저장소 비밀번호 입력:     [6자 이상]
이름과 성을 입력하십시오.   [성과 이름 입력]
조직 단위를 입력하십시오.   [조직단위 입력]
조직 이름을 입력하십시오.   [조직 이름 입력]                          
구/군/시 이름을 입력하십시오? [구/군/시 입력]                             
시/도 이름을 입력하십시오.      [시/도] 입력                           
이 조직의 두 자리 국가 코드를 입력하십시오.  [한국은 82]                       
CN=[성 이름], OU=[조직 단위], O=[조직 이름], L=[구/군/시], ST=[시/도], C=[국가코드] 가 맞습니까?
  [아니오]:  [y 입력]
<mankey> 에 대한 키 비밀번호를 입력하십시오.               
        (키 저장소 비밀번호와 동일한 경우 Enter 키를 누름):
-------------------- 옵션 설명 -------------------------------------------
-genkey: 키 쌍(공개키/개인키) 생성
-v: 자세한 출력
-keystore my-release-key.keystore: 생성할 키스토어 파일 이름(원하는 이름으로 변경 가능)
-alias mykey: 키 별칭(원하는 이름으로 변경 가능)
-keyalg RSA: RSA 알고리즘 사용
-keysize 2048: 키 길이(2048비트 권장)
-validity 10000: 키 유효기간(일 단위, 예: 10000일)

 주의해야하는 것은 필수 옵션을 선택안해주면 예외처리 알림이 발생합니다.

> keytool -genkey 
키 저장소 비밀번호 입력:     [6자 이상]
( keytool 명령어에 필수 옵션인 -keyalg(키 알고리즘)를 지정하지 않으면 아래와 같이 오류가 발생합니다. 
keytool 오류: java.lang.Exception: The -keyalg option must be specified.)

사용예 :
> keytool -genkey -alias mykey -keyalg RSA -keystore mykeystore.jks
- genkey 또는 -genkeypair: 키 쌍을 생성합니다.
- alias <별칭>: 키의 별칭을 지정합니다.
- keyalg RSA: 사용할 키 알고리즘을 지정합니다. (RSA, DSA, EC 등)
- keystore <파일명>: 키스토어 파일 이름을 지정합니다.

 

여기서 사용 가능한 알고리즘을 보면 다음과 같습니다.

알고리즘 설명 용도/특징
RSA 공개키 암호화및 서명에 널리사용되는 알고리즘 일반적으로 인증서, SSL, 전자서명 등에서표준적으로 사용
DSA 디지털 서명 알고리즘 주로 서명용으로 사용, 현재는 권장되지 않음
EC 타원 곡선(Elliptic Curve) 알고리즘  짧은  길이로 높은 보안성 제공, 최근많이 사용
DES 대칭키 암호화알고리즘 비밀키 생성(-genseckey)  사용, 보안상 권장되지 않음
DESede Triple DES DES보다 보안이 강화된 대칭키 알고리즘

 

 

전에 사용해 봤던 것인데 늘 사용할때마다 새롭네요.

다시 사용했던 이력을 검토해봐야 겠지만 FTP 인증키로 공객키, 비밀키 생성 때 사용해 본것 같아서 이것도 같이 적어봅니다.

keytool -genkeypair -alias mykey -keyalg RSA -keysize 2048 -keystore mykeystore.jks -validity 3650

-genkeypair 또는 -genkey: 키 쌍(개인키, 공개키) 생성
-alias mykey: 키 별칭
-keyalg RSA: RSA 알고리즘 사용
-keysize 2048: 키 길이(일반적으로 2048 이상 권장)
-keystore mykeystore.jks: 키스토어 파일명
-validity 3650: 유효기간(일 단위, 예시로 10년)
추가 옵션 및 참고사항
-sigalg SHA256withRSA: 서명 알고리즘을 명시할 수 있습니다(필수는 아님).
-storepass와 -keypass: 각각 키스토어와 키의 비밀번호를 지정할 수 있습니다.
생성된 키스토어(.jks) 파일은 백업해두는 것이 좋습니다.

 

 

728x90

'프로그램 > 짜투리상식' 카테고리의 다른 글

코드표기법(2024.08)  (0) 2024.08.07
[docker] ubuntu 20.04 (202305)  (0) 2023.05.29
git 명령어 정리  (0) 2023.04.21
Dorker에 jenkins 설치(2023.04)  (0) 2023.04.17
Dorker에 Oracle 설치(2023.04)  (3) 2023.04.15
728x90

 코드 표기법 관련해서 거의 정형화 해서 사용해 왔기 때문에 그렇게 명칭에 대해서 민감해 본적이 없지만 잠시 정리해보려 합니다 .

 

1. 파스칼 표기법( PascalCase ) : 보통 클래스명에 사용중

- 단어의 첫 시작은 항상 대문자를 사용하는 표기법

- 쌍봉낙타표기법 이라고 불림

 

2. 카멜 표기법 ( camelCase ) : 변수나 함수명에 사용중

- 소문자로 시작하고 이어지는 시작은 대문자로 작성하여 단어 간 구분에 용이한 표기법

- 단봉난타표기법 이라고도 불림

 

3. 스네이크 표기법( snake_case ) : 데이터 베이스에 컬럼 등 명칭지정시 사용

- 단어 사이에 underscore(_)를 활용하는 표기법

- 변수명, 함수명, 데이터타입 등 에 활용

 

4. 헝가리언 표기법( Hungarian Notation ) : 카멜표기법과 같이 사용해서 함수나 변수로 사용중

- 명칭앞에 자료형등 타입명을 붙이는 표기법

( ex. strName, iAge, fnTestSum )

 

5. 케밥 표기법( Kebab case )

- 케밥에서 꼬치 모양을 딴 것으로 스네이크 표기법과 비슷하지만 하이픈(-)으로 구분하는 표기법

- css, html 에서 주로 사용함

( ex font-weight: bold )

 

 표기 방법이 용도별로 정해진 것은 아니지만 줄임말도 많이 사용되면 소통의 기준이 되듯이 소통에 편의성이 제공되기 때문에 참고해야 할 것입니다.

 

 

참고 

https://heytech.tistory.com/294

 

스네이크 표기법 vs 카멜 표기법 vs 파스칼 표기법

프로그래밍 시 변수명, 함수명 등의 관습(convention) 표기법 3가지에 대해 알아봅니다. 스네이크 표기법(snake_case) 단어 사이에 underscore(_)를 활용하는 표기법 Python에서 주로 사용 변수명, 함수명, 데

heytech.tistory.com

https://needjarvis.tistory.com/632

 

카멜, 파스칼, 스네이크, 헝가리안, 케밥 표기법 정리

프로그램 언어마다 개발하는 방식이 다 다르고, 변수명, 클래스명, 메소드명 등 표기법이 다르다는 것은 이해가 되지 않지만 분명 존재하며, 다양한 언어를 다루는 개발자들이 가장 힘들어 하는

needjarvis.tistory.com

 

728x90

'프로그램 > 짜투리상식' 카테고리의 다른 글

디지털 지문 생성,RSA도참고(2025.06.01)  (0) 2025.06.02
[docker] ubuntu 20.04 (202305)  (0) 2023.05.29
git 명령어 정리  (0) 2023.04.21
Dorker에 jenkins 설치(2023.04)  (0) 2023.04.17
Dorker에 Oracle 설치(2023.04)  (3) 2023.04.15
728x90

사용하다보니 우분투가 제일 많이 사용하는 기본 도커 이미지가 되어 있어서 한번 정리해 보았습니다.

 

window 11 PC 설치되어 있는 도커 버전 확인

> docker --version
Docker version 20.10.24, build 297e128

1. 가장최근 버전 받는 방법과 20.04버전 우분투 도커 이미지 받기

# 우분투 v20.04버전 도커 이미지 다운받기
$ docker pull ubuntu:20.04

# 참고 : 최신버전 다운받기
$ docker pull ubuntu:latest

# 참고 : 도거 이미지 검색 ( 
$ docker search ubuntu
or
$ docker search ubuntu:20.04

※ 우분투를 받아서 설치하고자 하는 프로그램이 포함되어 있는 이미지가 있다면 시간을 조금더 절약할 수 있으므로 알아두는 것을 추천한다.

ex ) ubuntu/nginx, ubuntu/mysql, ubuntu/postgres

 

도커 설치 후 초기 업데이트 항목들

$ apt update & apt upgrade

 

초기 업데이트하면 좋은 내용들에 대해서 추가적으로 찾으면 업데이트 해보겠습니다.

728x90

'프로그램 > 짜투리상식' 카테고리의 다른 글

디지털 지문 생성,RSA도참고(2025.06.01)  (0) 2025.06.02
코드표기법(2024.08)  (0) 2024.08.07
git 명령어 정리  (0) 2023.04.21
Dorker에 jenkins 설치(2023.04)  (0) 2023.04.17
Dorker에 Oracle 설치(2023.04)  (3) 2023.04.15
728x90

git 처음 연습할 때 정리해 놓았던거 같은데 지속적으로 사용하면 도움이 될 것 같아서 정리해 봅니다.

 

새로 만들때

>>>>  create a new repository on the command line   <<<<
echo "# study01" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M master
# git remote add origin https://github.com/si0-lab/study01.git
git remote add origin https://github.com/[계정]/[레파지토리명].git
git push -u origin master

기존에 있는 것에 올릴때 

>>>>  push an existing repository from the command line  <<<<
# git remote add origin https://github.com/si0-lab/study01.git
git remote add origin https://github.com/[계정]/[레파지토리명].git
git branch -M master
git push -u origin master

 

 

728x90

'프로그램 > 짜투리상식' 카테고리의 다른 글

코드표기법(2024.08)  (0) 2024.08.07
[docker] ubuntu 20.04 (202305)  (0) 2023.05.29
Dorker에 jenkins 설치(2023.04)  (0) 2023.04.17
Dorker에 Oracle 설치(2023.04)  (3) 2023.04.15
Dorker 윈도우에 설치하기( 2023.04 )  (0) 2023.04.15

+ Recent posts