• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

cmake/H16-Aug-2021-5850

debian/H16-Aug-2021-13271

docs/H16-Aug-2021-1,186743

package/H16-Aug-2021-8457

src/H03-May-2022-14,4168,720

tests/H03-May-2022-2,6582,298

.gitignoreH A D16-Aug-202122 32

.gitmodulesH A D16-Aug-2021490 1312

.travis.ymlH A D16-Aug-2021601 1818

README.mdH A D16-Aug-20213.1 KiB9973

VagrantfileH A D16-Aug-20213.4 KiB8373

libscep.spectemplateH A D16-Aug-20211.8 KiB7962

provision-debian.shH A D16-Aug-2021113 73

README.md

1libscep - A Client Side SCEP Library
2====================================
3[![Build Status](https://travis-ci.org/Javex/libscep.svg?branch=develop)](https://travis-ci.org/Javex/libscep)
4
5`libscep` implements the
6[SCEP protocol](http://tools.ietf.org/html/draft-nourse-scep-23) as a C library
7and additionally provides a command line client that allows to operate the
8program without need to write an implementation of this library.
9
10The client is based on the classic [sscep](https://github.com/certnanny/sscep)
11client and follows the same syntax. Internally it just wraps the library.
12
13The library itself is pretty basic. It gets initialized, then one or multiple
14operations can be executed and then it gets destroyed again.
15
16*Note*: This is currently in development phase und not yet ready.
17
18Compiling
19----------
20
21Dependencies:
22
23    `openssl`, `cmake`, `pkg-config`, `check` (unit test framework for C),
24    `uriparser` (liburiparser1, liburiparser-dev on debian),
25    `libcurl4-openssl-dev`
26
27    mkdir build
28    cmake ..
29    make
30    make test
31
32Version Bump
33-------------
34
35The major and monir version numbers are tracked in:
36
37    CMakeLists.txt
38    src/clients/perl/Crypt-LibSCEP/MYMETA.json
39    src/clients/perl/Crypt-LibSCEP/MYMETA.yml
40    src/clients/perl/Crypt-LibSCEP/lib/Crypt/LibSCEP.pm
41
42To update the version:
43
44    major=0
45    minor=09
46    version=$major.$minor
47    perl -i -p \
48        -e "s{(libscep_VERSION_MAJOR) \d+}{\$1 $major};" \
49        -e "s{(libscep_VERSION_MINOR) \d+}{\$1 $minor};" \
50        CMakeLists.txt
51    perl -i -p \
52        -e "s{\"version\" : \"[0-9.]+\"}{\"version\" : \"$version\"};" \
53        src/clients/perl/Crypt-LibSCEP/MYMETA.json
54    perl -i -p \
55        -e "s{^version: \'[0-9.]+\'}{version: \'$version\'};" \
56        src/clients/perl/Crypt-LibSCEP/MYMETA.yml
57    perl -i -p \
58        -e "s{(our .VERSION =) \'[0-9.]+\'}{\$1 \'$version\'};" \
59        src/clients/perl/Crypt-LibSCEP/lib/Crypt/LibSCEP.pm
60    git add \
61        CMakeLists.txt \
62        src/clients/perl/Crypt-LibSCEP/MYMETA.json \
63        src/clients/perl/Crypt-LibSCEP/MYMETA.yml \
64        src/clients/perl/Crypt-LibSCEP/lib/Crypt/LibSCEP.pm
65
66    # Commit version bump
67    git commit -m "bump to v$version"
68    git tag -a v$version -m "bump to v$version"
69
70
71Building Debian Package
72------------------------
73
74The Debian packaging is done via Vagrant. To create the libscep and Perl
75library packages, run the following:
76
77    vagrant up debian
78    vagrant ssh --command /vagrant/package/make-deb.sh debian
79
80The resulting debian package files will be copied to the current directory.
81
82NOTE: The current support for building packages is proof-of-concept. The
83package versions must be set manually in the debian/\* files.
84
85Uploading Perl Module to CPAN
86-----------------------------
87
88Bump the version (see the 'Version Bump' section above). Then, run:
89
90    cd src/clients/perl/Crypt-LibSCEP
91    version=$(perl -MYAML -e '$y = YAML::LoadFile("MYMETA.yml");print $y->{version};')
92    git archive \
93        --prefix=Crypt-LibSCEP-$version/ \
94        --output Crypt-LibSCEP-$version.tar.gz \
95        v$version
96    cpan-upload Crypt-LibSCEP-$version.tar.gz
97
98
99