2018년 12월 21일 금요일

Bouncy Castle C# Version Source 구조

 파일 다운로드

공식 C# Version 홈페이지인 https://www.bouncycastle.org/csharp/index.html 에 접속하여,
가장최신 버전인 bccrypto-csharp-1.8.4-src.zip 을 클릭하여 다운로드 받습니다.
공식 홈페이지의 설명에 따르면 현재 버전[1.8.4]는 레거시(구버전의 .net frame work – 1.1, 2.0 , Compact Framework )를 지원하는 마지막 버전이라고 합니다.
현재 버전은 새로운 기능 추가는 중지되며, 버그 수정만 진행될 예정입니다.

디렉토리 구조



압축을 해제하면, 여러개의 폴더가 보이는데 이중 [crypto] 폴더 및에 src 폴더가 Main Folder이며, 추가적인 소스로 [bzip2/src]가 있습니다. [bzip2/src]bzip2형식을 읽고 쓰기 위한 라이브러리 구현입니다. 메인소스에서 여러가지로 참조를 하고 있습니다.
[cyrpto/src] 폴더 하위에는 많은 디렉토리가 있는데 각 네임스페이스 별로 소스파일이 잘 정리되어 있습니다.


중요한 디렉토리를 살펴보면 다음과 같습니다.
[asn1]
ASN.1에 대한 읽고 쓰기에 관련된 모듈의 구현부입니다.
ASN.1
은 보안에서 주요한 데이터 전송에 사용되는 Platform에 독립적인 데이터 전송형식입니다.
[crypto]
각종 알고리즘들에 대한 구현체가 들어있습니다. - 기능 명세에 나와있는 대부분의 알고리즘에 대한 것들이 여기 구현 되어 있습니다.
[math]
암호학의 기초가 되는 수학적 기능들을 구현한 모듈들(: BigInteger) 입니다.

빌드



Visual Studio, Mono Develop를 사용하여 빌드 할 수 있습니다.
nant를 사용하여 빌드르 할 경우 아래와 같은 명령을 사용할 수 있습니다.
* nant
- 전체 DEBUG 코드 빌드와 테스트 빌드 및 모든 테스트 자동 수행
* nant compile-debug
- 코드를 디버그 모드로 빌드
* nant compile-release
- 코드를 릴리즈 모드로 빌드
* nant test
- 코드의 단위 테스트를 수행


단위 테스트에는 NUnit이 사용되었으며, 당연히 build 파일에 NUnit의 위치가 설정되어 있어야 합니다.





댓글 없음:

댓글 쓰기

참고: 블로그의 회원만 댓글을 작성할 수 있습니다.

쿠버네티스 네트워크 정리

본 문서는 쿠버네티스의 공식문서( https://kubernetes.io/docs/concepts/cluster-administration/networking/ )의 일부를 번역하고 링크를 정리하여 붙이는 것에서 시작한 문서입니다. 일부 링크는 ...