mirror of
https://github.com/guanzhi/GmSSL.git
synced 2026-08-07 21:53:41 +08:00
add more commands
This commit is contained in:
@@ -11,7 +11,7 @@ IF[{- !$disabled{apps} -}]
|
|||||||
s_client.c s_server.c s_time.c sess_id.c smime.c speed.c spkac.c \
|
s_client.c s_server.c s_time.c sess_id.c smime.c speed.c spkac.c \
|
||||||
srp.c ts.c verify.c version.c x509.c rehash.c \
|
srp.c ts.c verify.c version.c x509.c rehash.c \
|
||||||
apps.c opt.c s_cb.c s_socket.c \
|
apps.c opt.c s_cb.c s_socket.c \
|
||||||
app_rand.c \
|
app_rand.c cpk.c sm9.c otp.c \
|
||||||
{- $target{apps_aux_src} -}
|
{- $target{apps_aux_src} -}
|
||||||
INCLUDE[gmssl]=.. ../include
|
INCLUDE[gmssl]=.. ../include
|
||||||
DEPEND[gmssl]=../libssl
|
DEPEND[gmssl]=../libssl
|
||||||
|
|||||||
90
apps/cpk.c
Normal file
90
apps/cpk.c
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
/* ====================================================================
|
||||||
|
* Copyright (c) 2014 - 2017 The GmSSL Project. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
*
|
||||||
|
* 3. All advertising materials mentioning features or use of this
|
||||||
|
* software must display the following acknowledgment:
|
||||||
|
* "This product includes software developed by the GmSSL Project.
|
||||||
|
* (http://gmssl.org/)"
|
||||||
|
*
|
||||||
|
* 4. The name "GmSSL Project" must not be used to endorse or promote
|
||||||
|
* products derived from this software without prior written
|
||||||
|
* permission. For written permission, please contact
|
||||||
|
* guanzhi1980@gmail.com.
|
||||||
|
*
|
||||||
|
* 5. Products derived from this software may not be called "GmSSL"
|
||||||
|
* nor may "GmSSL" appear in their names without prior written
|
||||||
|
* permission of the GmSSL Project.
|
||||||
|
*
|
||||||
|
* 6. Redistributions of any form whatsoever must retain the following
|
||||||
|
* acknowledgment:
|
||||||
|
* "This product includes software developed by the GmSSL Project
|
||||||
|
* (http://gmssl.org/)"
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE GmSSL PROJECT ``AS IS'' AND ANY
|
||||||
|
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE GmSSL PROJECT OR
|
||||||
|
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||||
|
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
* ====================================================================
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
|
* in the file LICENSE in the source distribution or at
|
||||||
|
* https://www.openssl.org/source/license.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <openssl/opensslconf.h>
|
||||||
|
#ifdef OPENSSL_NO_CPK
|
||||||
|
NON_EMPTY_TRANSLATION_UNIT
|
||||||
|
#else
|
||||||
|
|
||||||
|
# include <stdio.h>
|
||||||
|
# include <stdlib.h>
|
||||||
|
# include <string.h>
|
||||||
|
# include "apps.h"
|
||||||
|
# include <openssl/bio.h>
|
||||||
|
# include <openssl/err.h>
|
||||||
|
# include <openssl/evp.h>
|
||||||
|
# include <openssl/pem.h>
|
||||||
|
# include <openssl/cpk.h>
|
||||||
|
|
||||||
|
typedef enum OPTION_choice {
|
||||||
|
OPT_ERR = -1,
|
||||||
|
OPT_EOF = 0,
|
||||||
|
OPT_HELP
|
||||||
|
} OPTION_CHOICE;
|
||||||
|
|
||||||
|
OPTIONS cpk_options[] = {
|
||||||
|
{"help", OPT_HELP, '-', "Display this summary"},
|
||||||
|
{NULL}
|
||||||
|
};
|
||||||
|
|
||||||
|
int cpk_main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
printf("cpk not implemented\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
@@ -185,7 +185,7 @@ int main(int argc, char *argv[])
|
|||||||
ret = 0;
|
ret = 0;
|
||||||
/* Read a line, continue reading if line ends with \ */
|
/* Read a line, continue reading if line ends with \ */
|
||||||
for (p = buf, n = sizeof buf, i = 0, first = 1; n > 0; first = 0) {
|
for (p = buf, n = sizeof buf, i = 0, first = 1; n > 0; first = 0) {
|
||||||
prompt = first ? "OpenSSL> " : "> ";
|
prompt = first ? "GmSSL> " : "> ";
|
||||||
p[0] = '\0';
|
p[0] = '\0';
|
||||||
#ifndef READLINE
|
#ifndef READLINE
|
||||||
fputs(prompt, stdout);
|
fputs(prompt, stdout);
|
||||||
@@ -545,6 +545,12 @@ static int SortFnByName(const void *_f1, const void *_f2)
|
|||||||
static void list_disabled(void)
|
static void list_disabled(void)
|
||||||
{
|
{
|
||||||
BIO_puts(bio_out, "Disabled algorithms:\n");
|
BIO_puts(bio_out, "Disabled algorithms:\n");
|
||||||
|
#ifdef OPENSSL_NO_CPK
|
||||||
|
BIO_puts(bio_out, "CPK\n");
|
||||||
|
#endif
|
||||||
|
#ifdef OPENSSL_NO_SM9
|
||||||
|
BIO_puts(bio_out, "SM9\n");
|
||||||
|
#endif
|
||||||
#ifdef OPENSSL_NO_BF
|
#ifdef OPENSSL_NO_BF
|
||||||
BIO_puts(bio_out, "BF\n");
|
BIO_puts(bio_out, "BF\n");
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
91
apps/otp.c
Normal file
91
apps/otp.c
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
/* ====================================================================
|
||||||
|
* Copyright (c) 2014 - 2017 The GmSSL Project. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
*
|
||||||
|
* 3. All advertising materials mentioning features or use of this
|
||||||
|
* software must display the following acknowledgment:
|
||||||
|
* "This product includes software developed by the GmSSL Project.
|
||||||
|
* (http://gmssl.org/)"
|
||||||
|
*
|
||||||
|
* 4. The name "GmSSL Project" must not be used to endorse or promote
|
||||||
|
* products derived from this software without prior written
|
||||||
|
* permission. For written permission, please contact
|
||||||
|
* guanzhi1980@gmail.com.
|
||||||
|
*
|
||||||
|
* 5. Products derived from this software may not be called "GmSSL"
|
||||||
|
* nor may "GmSSL" appear in their names without prior written
|
||||||
|
* permission of the GmSSL Project.
|
||||||
|
*
|
||||||
|
* 6. Redistributions of any form whatsoever must retain the following
|
||||||
|
* acknowledgment:
|
||||||
|
* "This product includes software developed by the GmSSL Project
|
||||||
|
* (http://gmssl.org/)"
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE GmSSL PROJECT ``AS IS'' AND ANY
|
||||||
|
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE GmSSL PROJECT OR
|
||||||
|
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||||
|
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
* ====================================================================
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
|
* in the file LICENSE in the source distribution or at
|
||||||
|
* https://www.openssl.org/source/license.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <openssl/opensslconf.h>
|
||||||
|
#ifdef OPENSSL_NO_OTP
|
||||||
|
NON_EMPTY_TRANSLATION_UNIT
|
||||||
|
#else
|
||||||
|
|
||||||
|
# include <stdio.h>
|
||||||
|
# include <stdlib.h>
|
||||||
|
# include <string.h>
|
||||||
|
# include "apps.h"
|
||||||
|
# include <openssl/bio.h>
|
||||||
|
# include <openssl/err.h>
|
||||||
|
# include <openssl/evp.h>
|
||||||
|
# include <openssl/pem.h>
|
||||||
|
# include <openssl/otp.h>
|
||||||
|
|
||||||
|
typedef enum OPTION_choice {
|
||||||
|
OPT_ERR = -1,
|
||||||
|
OPT_EOF = 0,
|
||||||
|
OPT_HELP
|
||||||
|
} OPTION_CHOICE;
|
||||||
|
|
||||||
|
OPTIONS otp_options[] = {
|
||||||
|
{"help", OPT_HELP, '-', "Display this summary"},
|
||||||
|
{NULL}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
int sm9_main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
printf("otp not implemented\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
@@ -28,6 +28,7 @@ extern int asn1parse_main(int argc, char *argv[]);
|
|||||||
extern int ca_main(int argc, char *argv[]);
|
extern int ca_main(int argc, char *argv[]);
|
||||||
extern int ciphers_main(int argc, char *argv[]);
|
extern int ciphers_main(int argc, char *argv[]);
|
||||||
extern int cms_main(int argc, char *argv[]);
|
extern int cms_main(int argc, char *argv[]);
|
||||||
|
extern int cpk_main(int argc, char *argv[]);
|
||||||
extern int crl_main(int argc, char *argv[]);
|
extern int crl_main(int argc, char *argv[]);
|
||||||
extern int crl2pkcs7_main(int argc, char *argv[]);
|
extern int crl2pkcs7_main(int argc, char *argv[]);
|
||||||
extern int dgst_main(int argc, char *argv[]);
|
extern int dgst_main(int argc, char *argv[]);
|
||||||
@@ -77,6 +78,7 @@ extern OPTIONS asn1parse_options[];
|
|||||||
extern OPTIONS ca_options[];
|
extern OPTIONS ca_options[];
|
||||||
extern OPTIONS ciphers_options[];
|
extern OPTIONS ciphers_options[];
|
||||||
extern OPTIONS cms_options[];
|
extern OPTIONS cms_options[];
|
||||||
|
extern OPTIONS cpk_options[];
|
||||||
extern OPTIONS crl_options[];
|
extern OPTIONS crl_options[];
|
||||||
extern OPTIONS crl2pkcs7_options[];
|
extern OPTIONS crl2pkcs7_options[];
|
||||||
extern OPTIONS dgst_options[];
|
extern OPTIONS dgst_options[];
|
||||||
@@ -131,6 +133,9 @@ static FUNCTION functions[] = {
|
|||||||
#endif
|
#endif
|
||||||
#ifndef OPENSSL_NO_CMS
|
#ifndef OPENSSL_NO_CMS
|
||||||
{ FT_general, "cms", cms_main, cms_options },
|
{ FT_general, "cms", cms_main, cms_options },
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_CPK
|
||||||
|
{ FT_general, "cpk", cpk_main, cpk_options },
|
||||||
#endif
|
#endif
|
||||||
{ FT_general, "crl", crl_main, crl_options },
|
{ FT_general, "crl", crl_main, crl_options },
|
||||||
{ FT_general, "crl2pkcs7", crl2pkcs7_main, crl2pkcs7_options },
|
{ FT_general, "crl2pkcs7", crl2pkcs7_main, crl2pkcs7_options },
|
||||||
|
|||||||
90
apps/sm9.c
Normal file
90
apps/sm9.c
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
/* ====================================================================
|
||||||
|
* Copyright (c) 2014 - 2017 The GmSSL Project. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
*
|
||||||
|
* 3. All advertising materials mentioning features or use of this
|
||||||
|
* software must display the following acknowledgment:
|
||||||
|
* "This product includes software developed by the GmSSL Project.
|
||||||
|
* (http://gmssl.org/)"
|
||||||
|
*
|
||||||
|
* 4. The name "GmSSL Project" must not be used to endorse or promote
|
||||||
|
* products derived from this software without prior written
|
||||||
|
* permission. For written permission, please contact
|
||||||
|
* guanzhi1980@gmail.com.
|
||||||
|
*
|
||||||
|
* 5. Products derived from this software may not be called "GmSSL"
|
||||||
|
* nor may "GmSSL" appear in their names without prior written
|
||||||
|
* permission of the GmSSL Project.
|
||||||
|
*
|
||||||
|
* 6. Redistributions of any form whatsoever must retain the following
|
||||||
|
* acknowledgment:
|
||||||
|
* "This product includes software developed by the GmSSL Project
|
||||||
|
* (http://gmssl.org/)"
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE GmSSL PROJECT ``AS IS'' AND ANY
|
||||||
|
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE GmSSL PROJECT OR
|
||||||
|
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||||
|
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
* ====================================================================
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
|
* in the file LICENSE in the source distribution or at
|
||||||
|
* https://www.openssl.org/source/license.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <openssl/opensslconf.h>
|
||||||
|
#ifdef OPENSSL_NO_SM9
|
||||||
|
NON_EMPTY_TRANSLATION_UNIT
|
||||||
|
#else
|
||||||
|
|
||||||
|
# include <stdio.h>
|
||||||
|
# include <stdlib.h>
|
||||||
|
# include <string.h>
|
||||||
|
# include "apps.h"
|
||||||
|
# include <openssl/bio.h>
|
||||||
|
# include <openssl/err.h>
|
||||||
|
# include <openssl/evp.h>
|
||||||
|
# include <openssl/pem.h>
|
||||||
|
# include <openssl/cpk.h>
|
||||||
|
|
||||||
|
typedef enum OPTION_choice {
|
||||||
|
OPT_ERR = -1,
|
||||||
|
OPT_EOF = 0,
|
||||||
|
OPT_HELP
|
||||||
|
} OPTION_CHOICE;
|
||||||
|
|
||||||
|
OPTIONS sm9_options[] = {
|
||||||
|
{"help", OPT_HELP, '-', "Display this summary"},
|
||||||
|
{NULL}
|
||||||
|
};
|
||||||
|
|
||||||
|
int sm9_main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
printf("sm9 not implemented\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
Reference in New Issue
Block a user