PKCS#11 API ๋ฅผ ์ฌ์ฉ์์ ํ์ฌ ์ฐ๊ฒฐ ์ํ ์ ๋ณด๋ฅผ ํ์ธ ํ๊ธฐ ์ํ ๊ตฌ์กฐ์ฒด๊ฐ ์๋ค.
์ฆ ํ์ฌ ์ธ์
์ ๋ํ ๊ตฌ์กฐ์ฒด ์ ๋ณด๋ฅผ ํ์ธ ํ๊ธฐ ์ํ ๊ตฌ์กฐ์ฒด๊ฐ CK_SESSION_INFO ๊ตฌ์กฐ์ฒด ์ด๋ค.
CK_SESSION_INFO ์ ์
typedef struct CK_SESSION_INFO {
CK_SLOT_ID slotID;
CK_STATE state;
CK_FLAGS flags;
CK_ULONG ulDeviceError;
} CK_SESSION_INFO;
์ด ์ ๋ณด๋ฅผ ์ป๊ธฐ ์ํ API ๊ฐ C_GetSessionInfo ํจ์๋ฅผ ์ด์ฉํ๋ค.
๊ฐ๊ฐ์ ๊ตฌ์กฐ์ฒด ์ ๋ณด์ ์ ์๋ฅผ ๋ณด๋ฉด
- slotID : ํ ์ปจ ์ธํฐํ์ด์ค ์ฌ๋กฏ์ ID
- state : ์ธ์ ์ ๋ํ ์ํ
- flags : ๋นํธ ํ๋๊ทธ๋ก CKF_RW_SESSION ๊ณผ CKF_SERIAL_SESSION ์ฌ๋ถ๋ฅผ ๋ํ๋ด๋ค.
( ์ฆ ์ฝ๊ธฐ ์ ์ฉ ๋๋ ์ฝ๊ณ ์ฐ๊ธฐ ์ธ์ ์ ๋นํธ ํ๋๊ทธ ์ ๋ณด ) - ulDeviceError : ์ฅ์น์์ ์๋ฌ๊ฐ ๋ฐ์์ ์๋ฌ ์ ๋ณด๋ฅผ ๋ํ๋ธ๋ค
์ฐธ๊ณ ๋ก flags ๋ ๋นํธ ์ ํ ์ด๋ก ์ค๋ณต ์ํ๋ฅผ ๋ํ์ง๋ง state ๋ ๋จ์ผ ์ํ๋ฅผ ๋ํ๋ธ๋ค.
state ๊ฐ์ ์ข ๋ฅ
#define CKS_RO_PUBLIC_SESSION 0UL
#define CKS_RO_USER_FUNCTIONS 1UL
#define CKS_RW_PUBLIC_SESSION 2UL
#define CKS_RW_USER_FUNCTIONS 3UL
#define CKS_RW_SO_FUNCTIONS 4UL
์ด๋ ๊ฒ 4๊ฐ์ง ์ํ ๊ฐ์ด ์กด์ฌํ๋ค.
- CKS_RO_PUBLIC_SESSION : C_OpenSession ์์ CKF_SERIAL_SESSON ํ๋๊ทธ๋ก ์ฐ ์ํ
- CKS_RW_PUBLIC_SESSION : C_OpenSession ์์ CKF_SERIAL_SESSION | CKF_RW_SESSION ํ๋๊ทธ๋ก ์ฐ ์ํ
- CKS_RO_USER_FUNCTIONS : CKS_RO_PUBLIC_SESSION ์ผ๋ก ์ฐ๊ฒฐ๋ ์ธ์ ์ C_Login ์ User ํ์ ์ผ๋ก ํ ์ํ
- CKS_RW_USER_FUNCTIONS : CKS_RW_PUBLIC_SESSION ์ผ๋ก ์ฐ๊ฒฐ๋ ์ธ์ ์ C_Login ์ User ํ์ ์ผ๋ก ํ ์ํ
- CKS_RW_SO_FUNCTIONS : CKS_RW_PUBLIC_SESSION ์ผ๋ก ์ฐ๊ฒฐ ๋ ์ธ์ ์ C_Login ์ SO ํ์ ์ผ๋ก ํ ์ํ
์ฐธ๊ณ ) CKF_SERIAL_SESSION ์ C_OpenSession ์์ ๋ํดํธ๋ก ์ค์ ์ด ๋์ด์ผ ํ๋ค.
์ฆ CKF_RW_SESSION ๋จ๋
์ผ๋ก๋ ์ธ ์ ์๋ค.
CKS_RW_SO_FUNCTIONS ๋ CKS_RO_PUBLIC_SESSION ์์๋ ์ฌ์ฉ ํ ์ ์๋ค.
์ฆ SO ๊ฒฝ์ฐ๋ ์ฝ๊ธฐ ์ ์ฉ์ ์ฌ์ฉ ํ์ง ์๋๋ค.
CK_SESSION_INFO ํน์ฑ
์ด ๊ตฌ์กฐ์ฒด์์ flags ์ ์ ๋ณด๋ C_OpenSession ์ผ๋ก ์ค์ ํ๊ณ C_CloseSession ์ผ๋ก ๊ฐ์ ์ง์ฐ๊ฒ ๋๋ค.
๊ทธ๋ฆฌ๊ณ state ์ ๋ณด๋ C_OpenSession ๊ณผ C_Login ์ ํตํ์ฌ ๋ง๋ค์ด์ง ๊ฐ์ด๊ตฌ
๊ฐ์ ์ํ ์ ๊ฑฐ๋ C_Logout ๊ณผ C_CloseSession ์ผ๋ก ์ด๋ฃจ์ด ์ง๋ค.
๋ง๋ฌด๋ฆฌ
CK_SESSION_INFO ๋ ์ฌ์ค HSM ์ฅ์น์ ์ธ์ฆ ์ํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ด๋ค.
์ด ๊ตฌ์กฐ์ฒด์ ์ ๋ณด๋ฅผ ํ์ธ ํ์ฌ ํ์ฌ ์ฅ์น ์ฐ๊ฒฐ ์ํ ์ ๋ณด๋ฅผ ํ์ธ ํ ์ ์๋ค.
'PKI > HSM' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
PKCS#11 ์๋ช ์์ C_SignUpdate C_SignFinal ์ฌ์ฉ ๋ชปํ๋ ๋ฉ์ปค๋์ฆ (0) | 2023.11.07 |
---|---|
์คํ์์ค SoftHSM ์ฌ์ฉ๋ฒ ( Windows ํ๊ฒฝ ) (0) | 2023.05.12 |
PKCS#11 ํจ์ ๋ฐ ์ฌ์ฉ (0) | 2023.04.20 |
PKCS#11 ๊ฐ์ฒด ๋ฐ ๊ตฌ์กฐ (0) | 2023.04.20 |
PKCS#11 ์ด๋ (0) | 2023.04.20 |