Skip to content

Commit 8d672a8

Browse files
Piyush7034Prafulrakhadejackjain
committed
[INJICERT-1145] rebasing develop with latest release changes (mosip#395)
* Fix status list db scripts (mosip#367) Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * [INJICERT-1120] Remove vc sign config dependency and fix vc request (mosip#372) * [INJICERT-1120] Move vcSignCryptoSuite from config to vc type table Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * Change sdJwtVct to vct in credentialRequest Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * Rename vcSignCryptoSuite to signatureCryptoSuite Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * Update did.json with all verification methods Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> --------- Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * [INJCIERT-988] Update credential-provider doc link in the docker-compose readme Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * [INJICERT-1135] Add credetial status to vc type and set credentialStatus from code (mosip#376) * [INJICERT-1035] Add credetial status to vc type and set credentialStatus from code Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * Add enum for credential status purpose Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> Signed-off-by: Vishwa <visu.vs1@gmail.com> * [INJICERT-1135] Add list type for credential status Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> --------- Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * [INJICERT-1138] Add missing scripts for docker-compose setup (mosip#374) * Update docker compose init scripts Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * Remove multiple vc types for farmer vc Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * Add new usec case setup md file for docker-compose (mosip#364) Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * Fix script in new-usecase md file Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * Update Postgres-plugin-usecase.md file Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> --------- Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> Signed-off-by: Vishwa <visu.vs1@gmail.com> Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * [INJICERT-1144] [MOSIP-41674] Update plugin version and migration changes (mosip#381) * Mosip 41674 migration changes (mosip#366) * [MOSIP-41674] central sonatype migration changes Signed-off-by: techno-467 <prafulrakhade02@gmail.com> * [MOSIP-41674] central sonatype migration changes Signed-off-by: techno-467 <prafulrakhade02@gmail.com> * [MOSIP-41674] central sonatype migration changes Signed-off-by: techno-467 <prafulrakhade02@gmail.com> * [MOSIP-41674] central sonatype migration changes Signed-off-by: techno-467 <prafulrakhade02@gmail.com> --------- Signed-off-by: techno-467 <prafulrakhade02@gmail.com> Co-authored-by: Prafulrakhade <prafulrakhade@users.noreply.github.com> Signed-off-by: Vishwa <visu.vs1@gmail.com> Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * [INJICERT-1144] Update plugin version to 0.5.0-SNAPSHOT Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> --------- Signed-off-by: techno-467 <prafulrakhade02@gmail.com> Signed-off-by: Vishwa <visu.vs1@gmail.com> Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> Co-authored-by: Praful Rakhade <prafulrakhade02@gmail.com> Co-authored-by: Prafulrakhade <prafulrakhade@users.noreply.github.com> Signed-off-by: Vishwa <visu.vs1@gmail.com> Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * [INJICERT-1140][INJICERT-1141][INJICERT-1142] Credential Configuration API contract changes (mosip#380) * Renaming credentials/configurations to credential-configuration Signed-off-by: jackjain <jackjain1995@gmail.com> * Rename fields in CredentialConfigurationDTO, context to contextURLs, credentialType to credentialTypes and order to credentialFieldsDisplayOrder Signed-off-by: jackjain <jackjain1995@gmail.com> * Update postman collection as per the renaming in credential configuration endpoint and request DTO Signed-off-by: jackjain <jackjain1995@gmail.com> * Adding .DS_Store file in gitignore Signed-off-by: jackjain <jackjain1995@gmail.com> * Add structured object instead of generic Map for display field in credential configuration DTO Signed-off-by: jackjain <jackjain1995@gmail.com> * [INJICERT-1141] Autoassign binding, signing and proof values for config apis (#1) * Add configurations for proof, binding methods and credential sign algos Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * Auto assign proor, binding methods and signing alg values for config api Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> --------- Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> Signed-off-by: jackjain <jackjain1995@gmail.com> * Adding structured object for credentialSubject field in credential configuration DTO, renaming the field to credentialSubjectDefinition Signed-off-by: jackjain <jackjain1995@gmail.com> * Renaming display field to metaDataDisplay, order to displayOrder in credential configuration Signed-off-by: jackjain <jackjain1995@gmail.com> * Adding a structured object for claims field in credential configuration Signed-off-by: jackjain <jackjain1995@gmail.com> * [INJICERT-1142] Fix mapping issues for entity and dto (#2) Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> Signed-off-by: jackjain <jackjain1995@gmail.com> * Updating postman collection as per renaming done in credential configuration DTO fields Signed-off-by: jackjain <jackjain1995@gmail.com> * Fix review comments Signed-off-by: jackjain <jackjain1995@gmail.com> --------- Signed-off-by: jackjain <jackjain1995@gmail.com> Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> Co-authored-by: Piyush7034 <piyushshukla2100@gmail.com> Signed-off-by: Vishwa <visu.vs1@gmail.com> Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * [INJICERT-1145] Add custom serializable CertificateResponseDTO class Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * [INJICERT-1145] Add code review changes (mosip#383) * [INJICERT-1145] Add code review changes Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * Remove unwanted code Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * Removed jsonld vc signer Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * [INJICERT-1145] Add review comment changes Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * Remove exisiting transaction from update credential status Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * Fixed services review comments Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> --------- Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * [INJICERT-1145] Critical Code Review fixes (mosip#386) * Adding WellKnownController, deprecating well-known endpoints in issuance and removing well-known endpoint from credential-config controller Signed-off-by: jackjain <jackjain1995@gmail.com> * Adding validation for signatureCryptoSuite for ldp_vc and mso_mdoc formats, adding validation for signatureAlgo for sd-jwt format Signed-off-by: jackjain <jackjain1995@gmail.com> * removing the missed condition for signatureCryptoSuite field Signed-off-by: jackjain <jackjain1995@gmail.com> * Add separate fields for sdJWT and mso_mdoc claims in credential config request/response, storing the same in separate columns in DB Signed-off-by: jackjain <jackjain1995@gmail.com> * Using credentialConfigKeyId instead of ID in update, fetch and delete credential-configurations endpoints Signed-off-by: jackjain <jackjain1995@gmail.com> * Make signature crypto suite mandatory in credential-configuration request Signed-off-by: jackjain <jackjain1995@gmail.com> * Move CredentialConfigMapper to util package Signed-off-by: jackjain <jackjain1995@gmail.com> * Refactor parameter name for validateCredentialConfiguration method Signed-off-by: jackjain <jackjain1995@gmail.com> * Remove suspension status purpose from properties file Signed-off-by: jackjain <jackjain1995@gmail.com> * Removed cryptographic_binding_methods_supported, credential_signing_alg_values_supported and proof_types_supported from credential configuration request/response Signed-off-by: jackjain <jackjain1995@gmail.com> * Add handling for sdJWT VC format in the CacheKeyGenerator Signed-off-by: jackjain <jackjain1995@gmail.com> * Remove unused code related to issuer metadata fetch in VCIssuance and Certify services Signed-off-by: jackjain <jackjain1995@gmail.com> --------- Signed-off-by: jackjain <jackjain1995@gmail.com> Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * [INJICERT-1145] Add credential-ledger service and controller (mosip#387) Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * [INJICERT-1145] Changes to singatureCryptoSuite validation and well-know derivation of credential_signing_alg_values_supported field (mosip#389) * make singatureCryptoSuite non-mandatory for sdJwt format and fix derivation of credential_signing_alg_values_supported when singatureCryptoSuite field is missing incase of sdJWT Signed-off-by: jackjain <jackjain1995@gmail.com> * fix unit test failure and add handling for missing signature algo for Data integrity proof scenario Signed-off-by: jackjain <jackjain1995@gmail.com> --------- Signed-off-by: jackjain <jackjain1995@gmail.com> Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * [INJICERT-1145] Remaining changes on mosip#379 criticial PR (mosip#390) * [INJICERT-1145] Removed stuff related to c4gt Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * [INJICERT-1145] Host did keys for credential config entries only Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * [INJICERT-1145] Move status list code from certify-service to status-list service Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * CHeck for all certificates Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> --------- Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * [INJICERT-1145] DID fix for data-integrity crypto suites (mosip#391) Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * [INJICERT-1145] Removed year from verification method name (mosip#392) Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * [INJICERT-1145] Update docker-compose after LSH (mosip#393) Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * Revert c4gt template files Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * Update DMP_2024.yml Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * Update c4gt_community.yml Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * Update DMP_2024.yml Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * Update c4gt_community.yml Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * Change release to develop for certify-service-with-plugins for dockerfile Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> * [INJICERT-1145] Adding cachePrefix via RedisCacheConfig setup (mosip#396) * [INJICERT-1145] Adding cachePrefix via RedisCacheConfig setup Signed-off-by: jackjain <jackjain1995@gmail.com> * [INJICERT-1145] Rename the config for redis key prefix and refactor RedisCacheConfig code Signed-off-by: jackjain <jackjain1995@gmail.com> --------- Signed-off-by: jackjain <jackjain1995@gmail.com> Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> --------- Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com> Signed-off-by: Vishwa <visu.vs1@gmail.com> Signed-off-by: techno-467 <prafulrakhade02@gmail.com> Signed-off-by: jackjain <jackjain1995@gmail.com> Co-authored-by: Praful Rakhade <prafulrakhade02@gmail.com> Co-authored-by: Prafulrakhade <prafulrakhade@users.noreply.github.com> Co-authored-by: Jack <jackjain1995@gmail.com> Signed-off-by: Piyush7034 <piyushshukla2100@gmail.com>
1 parent e81e286 commit 8d672a8

File tree

127 files changed

+3248
-3443
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

127 files changed

+3248
-3443
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,5 @@ target/
2929
.mvn/
3030
.project/
3131
helm/*/Chart.lock
32-
helm/*/charts/
32+
helm/*/charts/
33+
.DS_Store

certify-core/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<groupId>io.mosip.certify</groupId>
1717
<artifactId>certify-core</artifactId>
1818
<name>certify-core</name>
19-
<version>0.12.0-SNAPSHOT</version>
19+
<version>${project.parent.version}</version>
2020
<description>Certify Core Library</description>
2121

2222
<dependencies>
@@ -38,7 +38,7 @@
3838
<dependency>
3939
<groupId>io.mosip.certify</groupId>
4040
<artifactId>certify-integration-api</artifactId>
41-
<version>0.12.0-SNAPSHOT</version>
41+
<version>${project.parent.version}</version>
4242
</dependency>
4343
<dependency>
4444
<groupId>com.h2database</groupId>

certify-core/src/main/java/io/mosip/certify/core/config/RedisCacheConfig.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
*/
66
package io.mosip.certify.core.config;
77

8+
import lombok.extern.slf4j.Slf4j;
89
import org.springframework.beans.factory.annotation.Value;
910
import org.springframework.boot.autoconfigure.cache.RedisCacheManagerBuilderCustomizer;
1011
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
@@ -19,20 +20,29 @@
1920

2021
@ConditionalOnProperty(value = "spring.cache.type", havingValue = "redis")
2122
@Configuration
23+
@Slf4j
2224
public class RedisCacheConfig {
2325

2426
@Value("#{${mosip.certify.cache.expire-in-seconds}}")
2527
private Map<String, Integer> cacheNamesWithTTLMap;
2628

29+
@Value("${mosip.certify.cache.redis.key-prefix:}")
30+
private String cachePrefix;
31+
2732
@Bean
2833
public RedisCacheManagerBuilderCustomizer redisCacheManagerBuilderCustomizer() {
2934
return (builder) -> {
3035
Map<String, RedisCacheConfiguration> configurationMap = new HashMap<>();
3136
cacheNamesWithTTLMap.forEach((cacheName, ttl) -> {
32-
configurationMap.put(cacheName, RedisCacheConfiguration
37+
RedisCacheConfiguration defaultConfiguration = RedisCacheConfiguration
3338
.defaultCacheConfig()
34-
.disableCachingNullValues()
35-
.entryTtl(Duration.ofSeconds(ttl)));
39+
.disableCachingNullValues()
40+
.entryTtl(Duration.ofSeconds(ttl));
41+
if (cachePrefix != null && !cachePrefix.isEmpty()) {
42+
log.info("Using cache prefix: {}", cachePrefix);
43+
defaultConfiguration = defaultConfiguration.prefixCacheNameWith(cachePrefix);
44+
}
45+
configurationMap.put(cacheName, defaultConfiguration);
3646
});
3747
builder.withInitialCacheConfigurations(configurationMap);
3848
};

certify-core/src/main/java/io/mosip/certify/core/constants/Constants.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public class Constants {
2525
public static final String EMPTY_REF_ID = "";
2626
public static final String ED25519_REF_ID = "ED25519_SIGN";
2727
public static final String TEMPLATE_NAME = "templateName";
28-
public static final String ISSUER_URI = "issuerURI";
28+
public static final String DID_URL = "didUrl";
2929
public static final String RENDERING_TEMPLATE_ID = "renderingTemplateId";
3030
public static final String CERTIFY_VC_SIGN_EC_K1 = "CERTIFY_VC_SIGN_EC_K1";
3131
public static final String CERTIFY_VC_SIGN_EC_R1 = "CERTIFY_VC_SIGN_EC_R1";
@@ -34,4 +34,9 @@ public class Constants {
3434
public static final String ACTIVE = "active";
3535
public static final String INACTIVE = "inactive";
3636
public static final String DELIMITER = "::"; // delimiter is :: its not used by url or within any context of VC name and is distinct
37+
public static final String SIGNATURE_CRYPTO_SUITE = "SIGNATURE_CRYPTO_SUITE";
38+
public static final String VCTYPE = "vct";
39+
public static final String CONFIRMATION = "cnf";
40+
public static final String ISSUER = "iss";
41+
public static final String TYPE = "type";
3742
}

certify-core/src/main/java/io/mosip/certify/core/constants/VCDM2Constants.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ public class VCDM2Constants {
99
public static final String URL = "https://www.w3.org/ns/credentials/v2";
1010
public static final String VALID_UNITL = "validUntil";
1111
public static final String VALID_FROM = "validFrom";
12+
public static final String CREDENTIAL_STATUS = "credentialStatus";
1213
}

certify-core/src/main/java/io/mosip/certify/core/constants/VCFormats.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,12 @@
55
*/
66
package io.mosip.certify.core.constants;
77

8-
@Deprecated
98
public class VCFormats {
109

1110
public static final String MSO_MDOC = "mso_mdoc";
1211
public static final String LDP_VC = "ldp_vc";
1312
public static final String SD_JWT = "dc+sd-jwt";
14-
public static final String LDP_SD_JWT = "vc+sd-jwt";
13+
public static final String VC_SD_JWT = "vc+sd-jwt";
1514
public static final String JWT_VC_JSON = "jwt_vc_json";
1615
public static final String JWT_VC_JSON_LD = "jwt_vc_json-ld";
1716
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package io.mosip.certify.core.dto;
2+
3+
import lombok.Data;
4+
5+
import java.io.Serializable;
6+
7+
@Data
8+
public class CertificateResponseDTO implements Serializable {
9+
private static final long serialVersionUID = 1L;
10+
11+
private String keyId;
12+
private String certificateData;
13+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package io.mosip.certify.core.dto;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Data;
5+
import lombok.NoArgsConstructor;
6+
7+
import java.util.List;
8+
9+
@Data
10+
@AllArgsConstructor
11+
@NoArgsConstructor
12+
public class ClaimsDisplayFieldsConfigDTO {
13+
private List<Display> display;
14+
15+
@Data
16+
@AllArgsConstructor
17+
@NoArgsConstructor
18+
public static class Display {
19+
private String name;
20+
private String locale;
21+
}
22+
}
23+

certify-core/src/main/java/io/mosip/certify/core/dto/CredentialConfigurationDTO.java

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,8 @@
44
import com.fasterxml.jackson.annotation.JsonProperty;
55
import io.mosip.certify.core.constants.ErrorConstants;
66
import jakarta.validation.Valid;
7-
import jakarta.validation.constraints.NotEmpty;
87
import jakarta.validation.constraints.NotNull;
98
import lombok.Data;
10-
import org.hibernate.annotations.Comment;
119

1210
import java.util.List;
1311
import java.util.Map;
@@ -20,9 +18,9 @@ public class CredentialConfigurationDTO {
2018

2119
private String credentialConfigKeyId;
2220

23-
private List<String> context;
21+
private List<String> contextURLs;
2422

25-
private List<String> credentialType;
23+
private List<String> credentialTypes;
2624

2725
@NotNull(message = ErrorConstants.INVALID_REQUEST)
2826
private String credentialFormat;
@@ -35,34 +33,27 @@ public class CredentialConfigurationDTO {
3533

3634
private String signatureAlgo; //Can be called as Proof algorithm
3735

36+
private String signatureCryptoSuite;
37+
3838
private String sdClaim;
3939

4040
@Valid
4141
@NotNull(message = ErrorConstants.INVALID_REQUEST)
42-
private List<Map<String, Object>> display;
42+
private List<MetaDataDisplayDTO> metaDataDisplay;
4343

44-
private List<String> order;
44+
private List<String> displayOrder;
4545

4646
@NotNull(message = ErrorConstants.INVALID_REQUEST)
4747
private String scope;
4848

49-
@NotNull(message = ErrorConstants.INVALID_REQUEST)
50-
@JsonProperty("cryptographic_binding_methods_supported")
51-
private List<String> cryptographicBindingMethodsSupported;
52-
53-
@NotNull
54-
@JsonProperty("credential_signing_alg_values_supported")
55-
private List<String> credentialSigningAlgValuesSupported;
49+
@JsonProperty("credentialSubjectDefinition")
50+
private Map<String, CredentialSubjectParametersDTO> credentialSubjectDefinition;
5651

57-
@NotNull(message = ErrorConstants.INVALID_REQUEST)
58-
@JsonProperty("proof_types_supported")
59-
private Map<String, Object> proofTypesSupported;
60-
61-
@JsonProperty("credentialSubject")
62-
private Map<String, Object> credentialSubject;
52+
@JsonProperty("msoMdocClaims")
53+
private Map<String, Map<String, ClaimsDisplayFieldsConfigDTO>> msoMdocClaims;
6354

64-
@JsonProperty("claims")
65-
private Map<String, Object> claims;
55+
@JsonProperty("sdJwtClaims")
56+
private Map<String, ClaimsDisplayFieldsConfigDTO> sdJwtClaims;
6657

6758
@JsonProperty("doctype")
6859
private String docType;
@@ -71,4 +62,6 @@ public class CredentialConfigurationDTO {
7162
private String sdJwtVct;
7263

7364
private List<Map<String, String>> pluginConfigurations;
65+
66+
private List<String> credentialStatusPurposes;
7467
}

certify-core/src/main/java/io/mosip/certify/core/dto/CredentialConfigurationSupportedDTO.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public class CredentialConfigurationSupportedDTO {
3737

3838
private Map<String, Object> claims;
3939

40-
private List<Map<String, Object>> display;
40+
private List<MetaDataDisplayDTO> display;
4141

4242
private List<String> order;
4343

0 commit comments

Comments
 (0)