์ „์ฒด ๊ธ€ 177

[Openssl3] CMP freeText ๊ธฐ๋Šฅ ์ถ”๊ฐ€

cmp.h.in ์— ํ—ค๋” ์ถ”๊ฐ€ STACK_OF(OSSL_CMP_ITAV) *OSSL_CMP_exec_GENM_ses2(OSSL_CMP_CTX *ctx, ASN1_UTF8STRING **ppFreeText ); const ASN1_UTF8STRING* OSSL_CMP_get0_freeText( OSSL_CMP_PKIHEADER *hdr ); int OSSL_CMP_set0_freeText( OSSL_CMP_CTX *ctx, ASN1_UTF8STRING *text ); cmp_ctx.c ์†Œ์Šค ์— ์ถ”๊ฐ€ const ASN1_UTF8STRING* OSSL_CMP_get0_freeText( OSSL_CMP_PKIHEADER *hdr ) { if( hdr == NULL ) return NULL; return hdr-..

[Openssl3] OSSL_CMP_certConf_new ์ถ”๊ฐ€

cmp.h.in ํŒŒ์ผ์— OSSL_CMP_MSG* OSSL_CMP_certConf_new( OSSL_CMP_CTX *ctx, int fail_info, const char *text ); cmp_ctx.c ํŒŒ์ผ์— OSSL_CMP_MSG* OSSL_CMP_certConf_new( OSSL_CMP_CTX *ctx, int fail_info, const char *text ) { return ossl_cmp_certConf_new( ctx, fail_info, text ); } ์œˆ๋„์šฐ ์ง€์›์„ ์œ„ํ•ด์„œ๋Š” utils/libcrypto.num ์— ํ•จ์ˆ˜๋ช…์„ ์ถ”๊ฐ€ ํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์ถ”๊ฐ€ ํ•ด์คŒ ์ดํ•จ์ˆ˜๋Š” OpenSSL3 ์—์„œ๋งŒ ์ถ”๊ฐ€ ํ•ด์•ผํ•จ cmpossl ์— ์ด๋ฏธ ์กด์žฌ ํ•˜๋Š” ํ•จ์ˆ˜ ์ž„

CryptokiMan ( PKCS#11 Cryptoki Manager )

CryptokiMan ์†Œ๊ฐœCryptokiMan ์€ PKCS#11 ํ‘œ์ค€ API์ธ Cryptoki ๋™์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•˜์—ฌ HSM ์žฅ์น˜๋ฅผ ๊ด€๋ฆฌ ๋ฐ ์šด์˜ํˆด ์ž…๋‹ˆ๋‹ค.์ฆ‰ PKCS#11 ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋‹ค์–‘ํ•œ HSM ์žฅ์น˜ ๊ด€๋ฆฌ ๋ฐ ์šด์˜์„ ํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค.ํ•ด๋‹น ํŒŒ์ผ์€ ์•„๋ž˜์—์„œ ๋‹ค์šด ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ( ์šฉ๋Ÿ‰์€ 30M ์ •๋„ )์‹ค์ œ๋กœ ๋ชจ๋“ˆ ํ…Œ์ŠคํŠธ๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๋งŒ๋“ค์–ด์ง„ PKCS#11 ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธhttps://www.opendnssec.org/softhsm/ ์—ฌ๊ธฐ์„œ ๋‹ค์šด ๋ฐ›์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ํ–ˆ๋‹ค.์ฐธ๊ณ ๋กœ ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์‚ฌ์‹ค ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๋งŒ๋“ค์–ด์ง„ PKCS#11 ๋ชจ๋“ˆ์ด๋‹ค.This program is a PKCS#11 module Cryptoki library management program.The fil..

My Programs 2021.07.16

CertMan ( X509 Cert, CRL Manager )

CertMan ์†Œ๊ฐœCertMan ์€ X.509 ์ธ์ฆ์„œ, CRL, CSR ๊ทธ๋ฆฌ๊ณ  ํ‚ค ์Œ์„ ์ƒ์„ฑ ๊ด€๋ฆฌ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค.์ง€์› ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ RSA, ECDSA, SM2, DSA, EdDSA(Ed25519, Ed448) ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ๋‹ค์–‘ํ•œ ์ธ์ฆ์„œ ๋ฐ CRL ํ”„๋กœํŒŒ์ผ์„ ํ†ตํ•œ ์ธ์ฆ์„œ ๋ฐ CRL ์„ ์ƒ์„ฑ ํ•  ์ˆ˜ ์žˆ๋Š”CA ๋กœ์„œ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.ํ•ด๋‹น ํŒŒ์ผ์€ ์•„๋ž˜์—์„œ ๋‹ค์šด ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ( ์šฉ๋Ÿ‰์€ 30M ์ •๋„ )This program is a management program that generates X.509 certificates, CRLs, CSRs and key pairs.Supported algorithms are RSA ECDSA SM2, DSA EdDSA( Ed25519 and Ed448) a..

My Programs 2021.07.16

BerEditor ( ASN.1 DER BER Viewer and Editor )

BerEditor ์†Œ๊ฐœBerEditor ๋Š” ASN.1 ์ธ์ฝ”๋”ฉ ๊ทœ์น™(BER, DER)์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฝ”๋”ฉ ๋œ ๋ฐ์ดํƒ€๋ฅผ ๋ถ„์„ํ•˜๊ณ  ํŽธ์ง‘ํ•˜๊ธฐ ์œ„ํ•œ ๊ทธ๋ž˜ํ”ฝ ์‚ฌ์šฉ์ž(GUI) ๋„๊ตฌ ์ž…๋‹ˆ๋‹ค.๊ทธ์™ธ PKI ๋˜๋Š” ์•”ํ˜ธํ™” ๊ฐœ๋ฐœ ์‹œ ํ•„์š”ํ•œ ์•”/๋ณตํ˜ธํ™”, ์„œ๋ช…/๊ฒ€์ฆ, OTP ์ƒ์„ฑ ๋ฐ OID ๊ฐ’ ๋ณด๊ธฐ ๋“ฑ ์•”ํ˜ธ ๊ด€๋ จ ๊ธฐ๋Šฅ ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.์‚ฌ์ด์ฆˆ๋Š” 29M ์ •๋„์ž…๋‹ˆ๋‹ค.This tool is capable of editing and viewing for BER and DER data.BerEditor is ASN.1 viewer.In addition, there are PKI-related functions such as encryption/decryption, signing/verification, OTP generation, and vie..

My Programs 2021.03.11

[OpenSSL] OSSL_CMP_CERTSTATUS ์ •๋ณด ์–ป๊ธฐ ํ•จ์ˆ˜

cmp.h.in ์— ์•„๋ž˜ ํ—ค๋” ์ถ”๊ฐ€ ASN1_OCTET_STRING *OSSL_CMP_CERTSTATUS_get0_certHash( OSSL_CMP_CERTSTATUS *certStatus ); ASN1_INTEGER *OSSL_CMP_CERTSTATUS_get0_certReqId( OSSL_CMP_CERTSTATUS *certStatus ); OSSL_CMP_PKISI *OSSL_CMP_CERTSTATUS_get0_statusInfo( OSSL_CMP_CERTSTATUS *certStatus ); cmp_msg.c ์— ์•„๋ž˜ ์†Œ์Šค ์ถ”๊ฐ€ ASN1_OCTET_STRING *OSSL_CMP_CERTSTATUS_get0_certHash( OSSL_CMP_CERTSTATUS *certStatus ) { if( c..

[CMPOSSL] CMP CTX ์—์„œ serverName, serverPath, serverPort ์ •๋ณด ์–ป๊ธฐ ํ•จ์ˆ˜

cmp.h ์— ํ•จ์ˆ˜ ์ •์˜ ์ถ”๊ฐ€ const char* OSSL_CMP_CTX_getServerPath(OSSL_CMP_CTX *ctx); const char* OSSL_CMP_CTX_getServer(OSSL_CMP_CTX *ctx); int OSSL_CMP_CTX_getServerPort(OSSL_CMP_CTX *ctx); cmp_ctx.c ์— ์ฝ”๋“œ ์ถ”๊ฐ€ const char* OSSL_CMP_CTX_getServerPath(OSSL_CMP_CTX *ctx) { if( ctx == NULL ) return NULL; return ctx->serverPath; } int OSSL_CMP_CTX_getServerPort(OSSL_CMP_CTX *ctx) { if( ctx == NULL ) return -1; ..

[CMPOSSL] OSSL_CMP_REVDETAILS ์‚ฌ์šฉ ์ง€์› ํ•˜๊ธฐ

cmp_int.h ์—์„œ DEFINE_STACK_OF(OSSL_CMP_REVDETAILS) certDetails; } X509_EXTENSIONS* OSSL_CMP_REVDETAILS_get0_crlEntryDetails( const OSSL_CMP_REVDETAILS *details ) { if( details == NULL ) return NULL; return details->crlEntryDetails; } ์ฐธ๊ณ ) Openssl3 ์—์„œ๋Š” ์ ์šฉ์— ์–ด๋ ค์›€ ์žˆ์Œ( ์•„๋ž˜ ์ฒ˜๋ฆฌ ํ•จ ) cmp.h ์— X509_EXTENSIONS* OSSL_CMP_get0_crlEntryDetails( void *pRR_Body, int index ); cmp_ctx.c ์— X509_EXTENSIONS* OSSL_CMP_get..

[CMPOSSL] CRMF_CERTTEMPLATE ๋ฉ”์„ธ์ง€์—์„œ ๊ณต๊ฐœํ‚ค ๊ฐ’ ์–ป๊ธฐ

crmf.h ์— ์•„๋ž˜ ํ•จ์ˆ˜ ์ •์˜ ์ถ”๊ฐ€ X509_PUBKEY *OSSL_CRMF_CERTTEMPLATE_get0_publicKey( OSSL_CRMF_CERTTEMPLATE *tmpl); crmf_lib.c ํŒŒ์ผ์— ์•„๋ž˜ ๋‚ด์šฉ ์ถ”๊ฐ€ X509_PUBKEY *OSSL_CRMF_CERTTEMPLATE_get0_publicKey( OSSL_CRMF_CERTTEMPLATE *tmpl) { return tmpl != NULL ? tmpl->publicKey : NULL; } ์œˆ๋„์šฐ ์ง€์›์„ ์œ„ํ•ด์„œ๋Š” utils/libcrypto.num ์— ํ•จ์ˆ˜๋ช…์„ ์ถ”๊ฐ€ ํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค.

[CMPOSSL] CMP ์—์„œ SenderKID ๊ฐ’ ์–ป๊ธฐ ํ•จ์ˆ˜

cmp.h.in ํ—ค๋”์— ์•„๋ž˜ ํ•จ์ˆ˜ ์ •์˜ ์ถ”๊ฐ€ ASN1_OCTET_STRING* OSSL_CMP_HDR_get0_senderKID( const OSSL_CMP_PKIHEADER *hdr ); cmp_lib.c ์— ์•„๋ž˜ ์†Œ์Šค ์ถ”๊ฐ€ ASN1_OCTET_STRING* OSSL_CMP_HDR_get0_senderKID( const OSSL_CMP_PKIHEADER *hdr ) { if( hdr == NULL ) return NULL; return hdr->senderKID; } ์œˆ๋„์šฐ ์ง€์›์„ ์œ„ํ•ด์„œ๋Š” utils/libcrypto.num ์— ๋‹ค์Œ ๊ฐ’์„ ์ฃผ์–ด์•ผ ํ•œ๋‹ค. OSSL_CMP_HDR_get0_senderKID 5573 3_0_0 EXIST::FUNCTION:CMP