Commit ebc1a85d authored by jan.koester's avatar jan.koester
Browse files

test

parent 59563051
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@ list(APPEND netplussrc
    crypto/rsa_pss_sha384.cpp
    crypto/rsa_pkcs1_sha256.cpp
    crypto/curve25519.cpp
    crypto/pkcs12.cpp
    crypto/tls.cpp
    exception.cpp
    connection.cpp
@@ -70,6 +71,7 @@ set(headers
    crypto/rsa_pss_sha384.h
    crypto/rsa_pkcs1_sha256.h
    crypto/sha.h
    crypto/pkcs12.h
    crypto/tls.h
    crypto/curve25519.h
)

src/crypto/pkcs12.cpp

0 → 100644
+576 −0

File added.

Preview size limit exceeded, changes collapsed.

src/crypto/pkcs12.h

0 → 100644
+49 −0
Original line number Diff line number Diff line
/*******************************************************************************
 * Copyright (c) 2025, Jan Koester jan.koester@gmx.net
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 * Redistributions of source code must retain the above copyright
 *      notice, this list of conditions and the following disclaimer.
 * 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.
 * Neither the name of the <organization> nor the
 *      names of its contributors may be used to endorse or promote products
 *      derived from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 * ANY EXPRESS 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 <COPYRIGHT HOLDER> 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.
 *******************************************************************************/

#pragma once

#include <cstdint>
#include <string>
#include <vector>

namespace netplus {

    struct Pkcs12Result {
        std::vector<uint8_t>                certDer;    // main certificate DER
        std::vector<std::vector<uint8_t>>   chainDer;   // CA chain certificates DER
        std::vector<uint8_t>                keyDer;     // private key DER (PKCS#1 or PKCS#8)
    };

    bool pkcs12Parse(const std::vector<uint8_t>& pfxData,
                     const std::string& password,
                     Pkcs12Result& out);

    bool pkcs12ParseFile(const std::string& path,
                         const std::string& password,
                         Pkcs12Result& out);
}
+61 −4

File changed.

Preview size limit exceeded, changes collapsed.

+68 −0

File changed.

Preview size limit exceeded, changes collapsed.

Loading