Giter Club home page Giter Club logo

ipkcs11wrapper's Introduction

GitHub release License Github forks Github stars

XiPKI

XiPKI (eXtensible sImple Public Key Infrastructure) is a highly scalable and high-performance open source PKI (CA and OCSP responder).

License

  • The Apache Software License, Version 2.0

Support

Just create new issue.

For bug-report please upload the test data and log files, describe the version of XiPKI, OS and JRE/JDK, and the steps to reproduce the bug.

Get Started

Binaries

The binary xipki-setup-<version>.zip can be retrieved using one of the following methods

Install and Setup

Unpack xipki-setup-<version>.zip and follow the xipki-setup-<version>/INSTALL.md.

Features

Supported Platform

CA Protocol Gateway

  • EST (RFC 7030)
  • SCEP (RFC 8894)
  • CMP (RFC 4210, 4211, 9045, 9480)
  • ACME (RFC 8555, RFC 8737)
    • Challenge types: dns-01, http-01, tls-apln-01
  • RESTful API (XiPKI own API)

CA (Certification Authority)

  • X.509 Certificate v3 (RFC 5280)
  • X.509 CRL v2 (RFC 5280)
  • EdDSA Certificates (RFC 8410, RFC 8032)
  • SHAKE Certificates (RFC 8692)
  • Diffie-Hellman Proof-of-Possession Algorithms (RFC 6955)
  • EN 319 411 and 319 412 (eIDAS)
  • Direct and indirect CRL
  • FullCRL and DeltaCRL
  • API to specify customized certificate profiles
  • Support of JSON-based certificate profile
  • API to specify customized publisher, e.g. for LDAP and OCSP responder
  • Support of publisher for OCSP responder
  • Public key types of certificates: RSA, EC, DSA, Ed25519, Ed448, SM2, X25519, X448
  • Signature algorithms of certificates
    • DSA with hash algorithms: SHA-1, SHA-2, and SHA-3
    • ECDSA with hash algorithms: SHA-1, SHA-2, SHA-3, and SHAKE
    • Ed25519, Ed448
    • Plain ECDSA with hash algorithms: SHA-1, and SHA-2
    • RSA PKCS1v1.5 with hash algorithms: SHA-1, SHA-2, and SHA-3
    • RSA PSS with hash algorithms: SHA-1, SHA-2, and SHA-3, and SHAKE
    • SM3withSM2
  • Native support of X.509 extensions (other extensions can be supported by configuring it as blob)
    • RFC 3739
      • BiometricInfo
      • QCStatements (also in eIDAS standard EN 319 412)
      • SubjectDirectoryAttributes
    • RFC 4262
      • SMIMECapabilities
    • RFC 5280
      • AuthorityInformationAccess, AuthorityKeyIdentifier
      • BasicConstraints
      • CertificatePolicies, CRLDistributionPoints
      • ExtendedKeyUsage
      • FreshestCRL
      • InhibitAnyPolicy, IssuerAltName
      • KeyUsage
      • NameConstraints
      • PolicyConstrains, PolicyMappings, PrivateKeyUsagePeriod
      • SubjectAltName, SubjectInfoAccess, SubjectKeyIdentifier
    • RFC 6960
      • OcspNoCheck
    • RFC 6962
      • CT Precertificate SCTs
    • RfC 7633
      • TLSFeature
    • Car Connectivity Consortium
      • ExtensionSchema
    • Common PKI (German national standard)
      • AdditionalInformation, Admission
      • Restriction
      • ValidityModel
    • GM/T 0015-2012 (Chinese national standard)
      • ICRegistrationNumber, IdentityCode, InsuranceNumber
      • OrganizationCode
      • TaxationNumber
  • Management of multiple CAs in one software instance
    • Support of database cluster
    • Multiple software instances (all can be in active mode) for the same CA
    • Native support of management of CA via embedded OSGi commands
    • API to manage CA. This allows one to implement proprietary CLI, e.g. Website, to manage CA.
    • Database tool (export and import CA database) simplifies the switch of databases, upgrade of XiPKi and switch from other CA system to XiPKI CA
    • All configuration of CA except those of databases is saved in database

OCSP Responder

  • OCSP Responder (RFC 2560 and RFC 6960)
  • Configurable Length of Nonce (RFC 8954)
  • Support of Common PKI 2.0
  • Management of multiple certificate status sources
  • Support of certificate status sources
    • Database of XiPKI CA
    • OCSP database published by XiPKI CA
    • CRL and DeltaCRL
    • Database of EJBCA
  • API to support proprietary certificate sources
  • Support of both unsigned and signed OCSP requests
  • Multiple software instances (all can be in active mode) for the same OCSP signer and certificate status sources.
  • Database tool (export and import OCSP database) simplifies the switch of databases, upgrade of XiPKi and switch from other OCSP system to XiPKI OCSP.
  • High performance
  • Support of health check

Mgmt CLI (Management Client)

  • Configuring CA
  • Generating keypairs of RSA, EC and DSA in token
  • Deleting keypairs and certificates from token
  • Updating certificates in token
  • Generating CSR (PKCS#10 request)
  • Exporting certificate from token

CLI (CA/OCSP Client)

  • Client to enroll, revoke, and unrevoke (unsuspend) certificates, to download CRLs
  • Client to send OCSP request
  • Updating certificates in token
  • Generating CSR (PKCS#10 request)
  • Exporting certificate from token

HSM Proxy

  • Provide the access to the HSM remotely.

ipkcs11wrapper's People

Contributors

xipki avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

ipkcs11wrapper's Issues

Generate Key differences between 1.0.2 and 1.0.8

Hi all,

i tryed to generate a keypair using
((Session) session).generateKeyPair(new Mechanism(pkcs11Mechanism), key_template);

but i needed to change my code from 1.0.2 to 1.0.8 (now getByteArrayAttrValue is not more available)

in 1.0.2
byte[] priModulus = ((Session) session).getByteArrayAttrValue(priKey, PKCS11Constants.CKA_MODULUS);

in 1.0.8
byte[] priModulus = ((Session) session).getAttrValues(priKey, PKCS11Constants.CKA_MODULUS).modulus().toByteArray();

but this caused a difference in generated data: MODULUS, EXPONENT_2, PRIME_1 and PRIME_2 have a 0x00 byte more in head.

ipkcs11wrapper: 1.0.8

 |--> PRIVATE_KEY: (572) 30820238020100300D06092A864886F70D0101010500048202223082021E0201000282010100CA329AB25B96F8A003150CE7FC17BCBAC109C5D9D54100EC43F40015FC38CE9D164F6045EB029910BA0534A55C4A63AD081AF2BD7614D9AB1FD454EDCD797C658E6C744AFB9DF4E438B680E1782DA9F2BF7D7EA18E3556742916BF8110F00FC527D67978EBF016958650D9E9AE53399C22C75367E829F7386FFB6E1C4E2F3770CC7A71CB4AEFDFBF88774FC69DCB13F685349F2492ABF473B68C3886C77255BDC9C34BB9AA5FBE40A2375690F68FCB4E802AC109F8928A6FE6F5085F95833B83EA5F7B5AEE6B218515BBC85B82FB22D5F18201D85846635C18BE60C9ECE12316CC8AD280F0A26946887663E89F83141C9BF42D6F1EABFD150C3D6C4DB9FA5DA902010002820100050E5ACE30DFB4F29FB51B6C23228451D95BCEA9331868FC4A2436E02B326549EA0F3226F96E133E06F574482F71E842C11D6C65115D203173B903667EBBD0964E5CB6FE922D69B1E47052DCCB2752D4E595D9A5BDA366E3537789F276D0C1478806C87AE8BA743EC906554BF9BE6E1B67316661667DADD20901D267C3359221D4C449E28C8515086FF7AC87DE9F6B0E35425089E4F7B7B4EDF12647820873CA8388256349B9447EEC284A268018F20AE30194280FD8EBA0DA15800B9DE987690B88E52A550CC4D95090B5E1577E6CFA3DFFA4CC172D6D0B220BF6CA16A291BE4EA61531D813C6814639A4190E50EB0880B3C422E650DBA7F03D36751E54DA51020100020100020100020100020100
 |--> PUBLIC_KEY: (294) 30820122300D06092A864886F70D01010105000382010F003082010A0282010100CA329AB25B96F8A003150CE7FC17BCBAC109C5D9D54100EC43F40015FC38CE9D164F6045EB029910BA0534A55C4A63AD081AF2BD7614D9AB1FD454EDCD797C658E6C744AFB9DF4E438B680E1782DA9F2BF7D7EA18E3556742916BF8110F00FC527D67978EBF016958650D9E9AE53399C22C75367E829F7386FFB6E1C4E2F3770CC7A71CB4AEFDFBF88774FC69DCB13F685349F2492ABF473B68C3886C77255BDC9C34BB9AA5FBE40A2375690F68FCB4E802AC109F8928A6FE6F5085F95833B83EA5F7B5AEE6B218515BBC85B82FB22D5F18201D85846635C18BE60C9ECE12316CC8AD280F0A26946887663E89F83141C9BF42D6F1EABFD150C3D6C4DB9FA5DA90203010001
 |--> PRIVATE_MODULUS: (257) 00CA329AB25B96F8A003150CE7FC17BCBAC109C5D9D54100EC43F40015FC38CE9D164F6045EB029910BA0534A55C4A63AD081AF2BD7614D9AB1FD454EDCD797C658E6C744AFB9DF4E438B680E1782DA9F2BF7D7EA18E3556742916BF8110F00FC527D67978EBF016958650D9E9AE53399C22C75367E829F7386FFB6E1C4E2F3770CC7A71CB4AEFDFBF88774FC69DCB13F685349F2492ABF473B68C3886C77255BDC9C34BB9AA5FBE40A2375690F68FCB4E802AC109F8928A6FE6F5085F95833B83EA5F7B5AEE6B218515BBC85B82FB22D5F18201D85846635C18BE60C9ECE12316CC8AD280F0A26946887663E89F83141C9BF42D6F1EABFD150C3D6C4DB9FA5DA9
 |--> PRIVATE_EXPONENT: (256) 050E5ACE30DFB4F29FB51B6C23228451D95BCEA9331868FC4A2436E02B326549EA0F3226F96E133E06F574482F71E842C11D6C65115D203173B903667EBBD0964E5CB6FE922D69B1E47052DCCB2752D4E595D9A5BDA366E3537789F276D0C1478806C87AE8BA743EC906554BF9BE6E1B67316661667DADD20901D267C3359221D4C449E28C8515086FF7AC87DE9F6B0E35425089E4F7B7B4EDF12647820873CA8388256349B9447EEC284A268018F20AE30194280FD8EBA0DA15800B9DE987690B88E52A550CC4D95090B5E1577E6CFA3DFFA4CC172D6D0B220BF6CA16A291BE4EA61531D813C6814639A4190E50EB0880B3C422E650DBA7F03D36751E54DA51
 |--> PUBLIC_MODULUS: (257) 00CA329AB25B96F8A003150CE7FC17BCBAC109C5D9D54100EC43F40015FC38CE9D164F6045EB029910BA0534A55C4A63AD081AF2BD7614D9AB1FD454EDCD797C658E6C744AFB9DF4E438B680E1782DA9F2BF7D7EA18E3556742916BF8110F00FC527D67978EBF016958650D9E9AE53399C22C75367E829F7386FFB6E1C4E2F3770CC7A71CB4AEFDFBF88774FC69DCB13F685349F2492ABF473B68C3886C77255BDC9C34BB9AA5FBE40A2375690F68FCB4E802AC109F8928A6FE6F5085F95833B83EA5F7B5AEE6B218515BBC85B82FB22D5F18201D85846635C18BE60C9ECE12316CC8AD280F0A26946887663E89F83141C9BF42D6F1EABFD150C3D6C4DB9FA5DA9
 |--> PUBLIC_EXPONENT: (3) 010001
 |--> EXPONENT_1: (128) 033717A6D7F4DEB84A240192E8E6ECAD46037B462E4DE1F2BA697C427B352DB6D2C49D1320BDACB261B225712016C4850F75FE3F27413E8B09EB2D16E6EAF1AC002C4D02DEB6150604BA04BD10AB35B067E184259A8EDBEC0474BCDFE6C88C59C3EC2454EC8FE1905B41EDC238A328A9C2F872DD17515D55FFDDC167D9EA1009
 |--> EXPONENT_2: (129) 00C81145A20DE9B021940FFC1739805BB7959B502AFFBFCC90A08EC8BEAC00F91753B4C9A8DD2809E78B9AA3CB0BBD6F3B5295C50AFF6F7C0DAD8EB408CFAF8E0F2889D452808BAAE7E20B1B64144F70D0A3A5AFA1E7595B7E9EE8E425C76CAB6F9DAB32C157E0B923F4679AC2E0F4B84CA57350BA62C4B8C732E8E5A3AADFFD11
 |--> PRIME_1: (129) 00EFB89B80E7BE60726AAE1412320B86E6DCFAD76B5843A4256235C8A799626A982AF084BAEC235E163FA4E1CA4672ED04F2093C09C1CA5A5DE9EDA77C5C91CAAFDD2395BF438DC1B4346F19122CEE56AD742E9B441071B931546368BDC9F5D87B90B823425F2DC2E8A617033F507E31C76489FFDDAFC01E1A8FCD1CB7DD9BCC79
 |--> PRIME_2: (129) 00D7EDAD34BBFE2754B7F85839EEC5AFE3CF53D08E53C7F27A305ECFD7021188C054C5EA543835B07633CE2A7A4CDFC618148B575A0C76D15B39B894DE5C451D238BE633D91DD3F5710B43C6AD7B4A7C87507A6006FA286CDED3BA25C6E82D93BF079CF220BC11EE1E810BB886B893CBF2C0B0B00B7B5D77D19B78083FA5166EB1
 |--> COEFFICIENT: (128) 1B78E6C4948075A2104075D3817693D11C90FFEB8C1DA473F37EA9AC88F84CF03C2778A5826B3E03686403020A1E5719CF0E13448B91DE2434CAABC8879B67358A58EAE8D3618BC94C6CC48EB174E6204E43CC542E77076885059263EC60A8468EEE4B2B3AEB03B0BD9384ADFFD9C3AFD78793A7A4574378D00584C9AA3FD7FD

ipkcs11wrapper: 1.0.2

 |--> PRIVATE_KEY: (572) 30820238020100300D06092A864886F70D0101010500048202223082021E0201000282010100ADE4F6AC13241F4B53C85877D9DAC108566CF1C9E4A6A27C06EA7772DBE0E2ECE09DD57BD5197F7EC55CAF2E98654DA9F31654579E04AEBBCE49C2A1681B4E222617EE4591401EAA9CCD8C419E85B718BBBBCA3BE85D105085BBA515602E94754E6E34632A426BF5F679F6606BFE025FEC57DFD15CA582E41CCE658A037B84F72F67ACCE851386135C5EE8AE591A5C0C9A319730F6176C7E4D088F1834908F0A551333A2ACEF9A66B00CEEA75650EE378FC7D27BF9FA8077E8CC4AD8586210596FE38248557BDA6D194EFC2394D1DC58408B7E70288730ED9180A0B500D4D2300C3C67371D599FA630DA99BFF96DBAAC653CFAC9025EC789AEAFAF559AA1AAE9020100028201000447A75E92D607C325DBBF79ABADFBA445E4468B2E8A7F6348144B3E53751480BA02887794C61CE234DF541C7479C1D096000DB15E5D4523B02F16903C6CB79E958B6F3CDD1753E9E5141608A36B2D1779BF6479D6FD3B628FF80F571857ED2579F9B266626AE2175AAAA3CAB9BDB5B740ACE500552469B54D9432E193B65D8E6184745BBF74A20C99AA1E82635E19D8634EFA08ACD0D1E415CB3EB38DB4936AE49191BF802638C6D8E40AB524CD34A64CD309FC649209B584C3B90124B7A35AC770725BD9EB07A69CFFA3F300238BADC499F918E111A9DA0B42A48E50E683BE1F58DBCC984AE5208D333DB9633DF67532A14B058B6776F26D277DDFE4812E81020100020100020100020100020100
 |--> PUBLIC_KEY: (294) 30820122300D06092A864886F70D01010105000382010F003082010A0282010100ADE4F6AC13241F4B53C85877D9DAC108566CF1C9E4A6A27C06EA7772DBE0E2ECE09DD57BD5197F7EC55CAF2E98654DA9F31654579E04AEBBCE49C2A1681B4E222617EE4591401EAA9CCD8C419E85B718BBBBCA3BE85D105085BBA515602E94754E6E34632A426BF5F679F6606BFE025FEC57DFD15CA582E41CCE658A037B84F72F67ACCE851386135C5EE8AE591A5C0C9A319730F6176C7E4D088F1834908F0A551333A2ACEF9A66B00CEEA75650EE378FC7D27BF9FA8077E8CC4AD8586210596FE38248557BDA6D194EFC2394D1DC58408B7E70288730ED9180A0B500D4D2300C3C67371D599FA630DA99BFF96DBAAC653CFAC9025EC789AEAFAF559AA1AAE90203010001
 |--> PRIVATE_MODULUS: (256) ADE4F6AC13241F4B53C85877D9DAC108566CF1C9E4A6A27C06EA7772DBE0E2ECE09DD57BD5197F7EC55CAF2E98654DA9F31654579E04AEBBCE49C2A1681B4E222617EE4591401EAA9CCD8C419E85B718BBBBCA3BE85D105085BBA515602E94754E6E34632A426BF5F679F6606BFE025FEC57DFD15CA582E41CCE658A037B84F72F67ACCE851386135C5EE8AE591A5C0C9A319730F6176C7E4D088F1834908F0A551333A2ACEF9A66B00CEEA75650EE378FC7D27BF9FA8077E8CC4AD8586210596FE38248557BDA6D194EFC2394D1DC58408B7E70288730ED9180A0B500D4D2300C3C67371D599FA630DA99BFF96DBAAC653CFAC9025EC789AEAFAF559AA1AAE9
 |--> PRIVATE_EXPONENT: (256) 0447A75E92D607C325DBBF79ABADFBA445E4468B2E8A7F6348144B3E53751480BA02887794C61CE234DF541C7479C1D096000DB15E5D4523B02F16903C6CB79E958B6F3CDD1753E9E5141608A36B2D1779BF6479D6FD3B628FF80F571857ED2579F9B266626AE2175AAAA3CAB9BDB5B740ACE500552469B54D9432E193B65D8E6184745BBF74A20C99AA1E82635E19D8634EFA08ACD0D1E415CB3EB38DB4936AE49191BF802638C6D8E40AB524CD34A64CD309FC649209B584C3B90124B7A35AC770725BD9EB07A69CFFA3F300238BADC499F918E111A9DA0B42A48E50E683BE1F58DBCC984AE5208D333DB9633DF67532A14B058B6776F26D277DDFE4812E81
 |--> PUBLIC_MODULUS: (256) ADE4F6AC13241F4B53C85877D9DAC108566CF1C9E4A6A27C06EA7772DBE0E2ECE09DD57BD5197F7EC55CAF2E98654DA9F31654579E04AEBBCE49C2A1681B4E222617EE4591401EAA9CCD8C419E85B718BBBBCA3BE85D105085BBA515602E94754E6E34632A426BF5F679F6606BFE025FEC57DFD15CA582E41CCE658A037B84F72F67ACCE851386135C5EE8AE591A5C0C9A319730F6176C7E4D088F1834908F0A551333A2ACEF9A66B00CEEA75650EE378FC7D27BF9FA8077E8CC4AD8586210596FE38248557BDA6D194EFC2394D1DC58408B7E70288730ED9180A0B500D4D2300C3C67371D599FA630DA99BFF96DBAAC653CFAC9025EC789AEAFAF559AA1AAE9
 |--> PUBLIC_EXPONENT: (3) 010001
 |--> EXPONENT_1: (128) 16D7FC54BF0AF2A1CD72381192C9389494D266639BA1C9A868C8D959A53E634ED36CDE0300DCD68EC03CB5FDDF54CA32D6FAD2ADE40AFF15EE72DB72D3120096300D3E97BAD553A34307E2BFDD3F55B8E2503C89654F826DC2C21C5F2D2741FB51DD8AEBE8AB89984B200CB106570BCA2F6795D1AFAA9A01C113FB6F1B653309
 |--> EXPONENT_2: (128) 7BD1309C7826C721F9F06A3577CD1A6569E9B778AFD1900CB879758EC22965A26E21B942E3B403E1A825DF023C6D40E52BA7A9CDF8DBAFC8788703EF481ABCCC8A5DA7D0FAA9381FDB6CEFBF5C69D431734BF9EDAD42FB3AA15B2D93ECE878096A99D99A1AFCB8702B1C294323935410F69BE7CF8A83A48DD84A4701445EC871
 |--> PRIME_1: (128) D434833CE6EA40B07FDFB004753BD02ADE65EF994F7B3D264C51CB54884AEA3C6834039FBA53131BA489F809C5D21DF5850CB9605DCBC9E4FC6FAF81612B21CA1A08711A81252353F45B8191C3151E16DC96C3A47AF88D45BFC4BFC89C1E98221A853308F2A9AF38738C500397EEF33C509EB02E10A12C07395BEE8CAD063879
 |--> PRIME_2: (128) D1C85EB467A9BF1480F72DCA71FF0C5C132FE7C445B7D8DC9377FED62D711C65D03B07D8BF3BBA11CDA1D1215F3D5A6A1ED550BF26FC5B8B6383D84E47DFC9D4E21EB5B6E94EB07D3005433C93E9874AB5BBA4483D4343AEA04414D409CC2F7A7CE8617FE3593775C8218B2EF9A4998B8604B707C089F887FF4272F4AC0C49F1
 |--> COEFFICIENT: (128) 86FD07F3268A59D5EE80CD6ACD51C8897AB124FED0464DD5A1BB072D8BA73EADBDF98A1DD2EA536507B4121E92E75A96DC5FBE18C0BE4CD49B2460B40772B6B31E1EC85EA93CBC6896034B8F0B2F96F3095E8943B2F2EAAA81A16A8E8D5538682D87DA17FE501CBE5721EB1483C695039EEE71C256CB12AB26464417C24F8D27

ipkcs11wrapper & GraalVM native build

Hi ! Can I use ipkcs11wrapper library with GraalVM ? Maybe some example available. Because I don't understand which JNI classes should be specify in jniconfig.json.

Download release

Hi Xipki,
i try to download release but i can not find it on Github or on Maven with ipkcs11wrapper name.

How can i download ?

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.